spymemcached/xmemcached/jmemcache-daemon引见

spymemcached/xmemcached/jmemcache-daemon介绍
1. memcached的客户端概述
memcached的客户端太多了,列表参见
https://code.google.com/p/memcached/wiki/Clients

1.1 memcached的java客户端,本文将介绍以下2个
名称 网址 版本
SpyMemcached https://code.google.com/p/spymemcached/ 2.11.3
XMemcached https://code.google.com/p/xmemcached/ https://github.com/killme2008/xmemcached 2.0.0


2.spymemcached介绍
是memcached的一个java客户端

2.1 性能高效在哪里?
  • 单线程IO
  • 非常低的竞争
  • 异步接口
  • 合并多次get为一次get来提高效率
  • 流水线协议

详细说明可参见https://code.google.com/p/spymemcached/wiki/Optimizations

2.2 集成maven
目前maven中央仓库里已经有了,使用很方便,pom声明如下。
<dependency>
    <groupId>net.spy</groupId>
    <artifactId>spymemcached</artifactId>
    <version>2.11.3</version>
</dependency>


2.3 集成spring
官方自带一个集成spring的类MemcachedClientFactoryBean,在xml里配置一下就可以用了。
具体怎么用不再赘述,springside4里有演示。
SpringSide4的extension模块里封装了一个SpyMemcachedClient
SpringSide4的showcase中,MemcachedDemo和applicationContext-memcached.xml有演示。

3. jmemcache-daemon介绍
是一个JVM中的嵌入式memcached服务端模拟器
有了这个神器,单元测试里也可以测试memcached了。

3.1 集成maven
<dependency>
    <groupId>com.thimbleware.jmemcached</groupId>
    <artifactId>jmemcached-core</artifactId>
    <version>1.0.0</version>
    <scope>test</scope>
</dependency>


3.2 集成spring
SpringSide4的test模块里,基于它封装了一个MemcachedSimulator。
SpringSide4的Showcase中的使用,见applicationContext-memcached.xml。

3.3 命令行启动
jmemcache-daemon不仅可以在自动化测试用例中嵌入式使用,也可以命令行启动,模拟memcached。

首先要去下载一个带命令行的版本http://repo2.maven.org/maven2/com/thimbleware/jmemcached/jmemcached-cli/
然后输入
java -jar jmemcached-cli-1.0.0-main.jar

这样服务端就启动好了。
可以参考前一篇文章用telnet来测试,当然也可以用本文介绍的客户端来测试了。

4.xmemcached介绍
是memcached的一个国产java客户端。

4.1 集成maven
<dependency>
    <groupId>com.googlecode.xmemcached</groupId>
    <artifactId>xmemcached</artifactId>
    <version>2.0.0</version>
</dependency>


4.2 集成spring
自带一个集成spring的类XMemcachedClientFactoryBean,或者用XMemcachedClientBuilder

4.3 集成 spring cache
参见http://zj0121.iteye.com/blog/1852270
(注:只支持Spring3.2以上版本)

4.4 资料
官方wiki还是比较丰富的,可以仔细研磨。
https://code.google.com/p/xmemcached/w/list

5. 其他java客户端
太多了,有待评估。
客户端
    http://code.google.com/p/javamemcachedclient
    http://code.google.com/p/memcache-client-forjava
集成
    http://code.google.com/p/simple-spring-memcached
    http://code.google.com/p/memcached-session-manager