Memcached的Java客户端主要有三个:Greg Whalin维护的客户端(基于传统阻塞IO)、Dustin Sallings维护的SpyMemcached(基于Java nio)、Xmemcached库(基于Java nio);前两者都已经停止更新,这里推荐使用Xmemcached库;该库不仅仅高性能;而且支持完整的协议(包括二进制协议)、提供了分布式算法模块(如一致性哈希算法consistent hash,虽然专否提倡的是用钱砸,但人家提供了算法模块,那就用呗~)、允许设置节点权重、支持动态增删节点、支持JMX、与Spring框架的集成、客户端连接池、可拓展性强;总之,Xmemcached算是把Memcached的特点发挥到了极致,等于在客户端对Memcached进行了一系列地丰富。
如果使用maven进行构建,只需添加相关依赖即可使用Xmemcached:
<dependency> <groupId>com.googlecode.xmemcached</groupId> <artifactId>xmemcached</artifactId> <version>版本号</version> </dependency>
举一个简单的使用示例:
MemcachedClient client=new XMemcachedClient("10.11.8.76",12007); // set方法储存数据入缓存 // 3600秒后Memcached中该缓存自动删除 client.set( "key1", 3600, "value1"); // 从memcached获取key1对应的值 Object value1=client.get( "key1" ); // 更新缓存的超时时间为10秒 boolean success=client.touch("key1", 10); // 删除数据 client.delete( "key1" );
更多关于Xmemcached的文档,请查看: