Xmemcached使用

XMemcached簡介:

XMemcached是一個新java memcached client。也許你還不知道memcached是什麼?能夠先看看這裏。簡單來講,Memcached 是一個高性能的分佈式內存對象的key-value緩存系統,用於動態Web應用以減輕數據庫負載,如今也有不少人將它做爲內存式數據庫在使用,memcached經過它的自定義協議與客戶端交互,而XMemcached就是它的一個java客戶端實現。java

主要特性:

一、高性能
二、支持完整的memcached文本協議,二進制協議將在1.2版本實現。
三、支持JMX,能夠經過MBean調整性能參數、動態添加/移除server、查看統計等。
四、支持客戶端統計
五、支持memcached節點的動態增減。
六、支持memcached分佈:餘數分佈和一致性哈希分佈。
七、更多的性能調整選項。spring

簡單示例:

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/listruby

相關文章
相關標籤/搜索