Xmemcached使用

XMemcached简介:

XMemcached是一个新java memcached client。也许你还不知道memcached是什么?可以先看看这里。简单来说,Memcached 是一个高性能的分布式内存对象的key-value缓存系统,用于动态Web应用以减轻数据库负载,现在也有很多人将它作为内存式数据库在使用,memcached通过它的自定义协议与客户端交互,而XMemcached就是它的一个java客户端实现。

主要特性:

1、高性能
2、支持完整的memcached文本协议,二进制协议将在1.2版本实现。
3、支持JMX,可以通过MBean调整性能参数、动态添加/移除server、查看统计等。
4、支持客户端统计
5、支持memcached节点的动态增减。
6、支持memcached分布:余数分布和一致性哈希分布。
7、更多的性能调整选项。

简单示例:

MemcachedClientBuilder builder = new XMemcachedClientBuilder(
				AddrUtil.getAddresses("192.168.1.107:11211"));
		
MemcachedClient client = null;
client = builder.build();
		
client.set("userid", 30, 1);// 此处30为过期时间,单位:秒
logger.info("set后结果为:" + (Integer)client.get("userid"));
client.get("userid", 1000);// 此处1000表示超时时间为1秒
		
client.add("username", 0, "hello");// 0表示永久存储
logger.info("add后结果为:" + (String)client.get("username"));
		
client.append("username", "1");
logger.info("append后结果为:" + (String)client.get("username"));
		
client.delete("username");
logger.info("delete后结果为:" + (String)client.get("username"));
		
client.shutdown();

[main] allapp.XmemcachedApp1 - set后结果为:1
[main] allapp.XmemcachedApp1 - add后结果为:hello
[main] allapp.XmemcachedApp1 - append后结果为:hello1
[main] allapp.XmemcachedApp1 - delete后结果为:null

一致性哈希配置:

MemcachedClientBuilder builder = new XMemcachedClientBuilder(
		AddrUtil.getAddresses("server1:11211 server2:11211 server3:11211"));
builder.setSessionLocator(new KetamaMemcachedSessionLocator());
MemcachedClient client = builder.build();

集成spring配置:

<bean name="memcachedClient"
	class="net.rubyeye.xmemcached.utils.XMemcachedClientFactoryBean"
	destroy-method="shutdown">
	<property name="servers">
		<value>192.168.1.107:11211</value>
	</property>
</bean>

ApplicationContext context = new ClassPathXmlApplicationContext(
	"/spring/memcached-config.xml");

MemcachedClient client = (MemcachedClient) context
	.getBean("memcachedClient");
client.set("name1", 0, "hahah");
logger.info((String)client.get("name1"));

 Xmemcached项目wikihttp://code.google.com/p/xmemcached/w/list

你可能感兴趣的:(Xmemcached使用)