返回介绍

Memcached

发布于 2021-08-08 13:40:56 字数 4434 浏览 920 评论 0 收藏 0

Memcached

Memcached的设计,一般人看完会有洗脑的感觉,原来可以用这么简单的设计做到这么高效的事情。原作者进入Google撒手不管一段时间后,社区已渐渐接过了维护到工作,现在又开始不断更新了。

SpyMemcached

SpyMemcached是Memcahced client中较靠谱的一个,作者最近加入了CouchDB,Membase的公司,很多精力都在用Memcached协议访问这两者上了。另外XMemcached是另一个可选的国产的Client。

Spy的jar包只在它的Maven私服里有最新版本,Maven中央库没有,google code上的下载也不够新。

SpringSide的extension模块里封装了一个SpyMemcachedClient:

  1. get和getBulk,都屏蔽了异常,而且强行转换类型,如User = client.get("foo");
  2. set和delete都提供了更新后不管,以及等待updateTimeout毫秒,根据是否超时返回true or false的安全函数两种类型的函数。
  3. 透传的incr/decr,asyncIncr/asyncDecr, 其中同步的方法能设定原来无值时的默认值,而异步的不能。
  4. 还有一些未封装的函数如CAS,Add,Touch,Append/Prepend,可用getMemcachedClient()取出后调用。
  5. 应用关闭时自动调用shutdown。

在showcase的MemcachedDemo和applicationContext-memcached.xml有演示。

SpyMemcachedClient的初始设置,直接使用net.spy.memcached.spring.MemcachedClientFactoryBean创建并设置MemcachedClient。 注意协议默认是TEXT的,可改成二进制。Cluster locatorType默认是ARRAY_MOD,没有使用那著名的CONSISTENT,operationTimeout默认是2.5秒。

JVM中的嵌入式Memcached模拟器

有些单元测试或不需要安装的集成测试,可能需要一个JVM内的嵌入式Memcached服务器,JMemcached是不错的选择。

SpringSide的test模块里,基于它封装了一个MemcachedSimulator。

在Showcase中,就使用了它,见applicationContext-memcached.xml。

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文