【发布时间】:2010-10-18 10:04:32
【问题描述】:
哪个是最好的 Java memcached 客户端,为什么?
【问题讨论】:
-
定义“最佳”。你想优化什么?
-
对于spymemcached,最新的jar可以在maven上找到,最新的源码在github上,但是文档还在google code上......
标签: java web-applications memcached
哪个是最好的 Java memcached 客户端,为什么?
【问题讨论】:
标签: java web-applications memcached
作为spymemcached的作者,我有点偏见,但我想说这是我的,原因如下:
当您请求数据、发出集合等时...有一个很小的并发队列插入,您会获得一个 Future 来阻止结果(对于常见情况,例如 get 有一些方便的方法)。
您可以在我的 optimizations 页面上阅读更多内容,但我会进行整个应用程序优化。
我在微基准测试中仍然做得很好,但要与其他客户端进行公平比较,您必须设计不切实际的使用模式(例如,等待每个 set 操作的响应或围绕 get 构建锁以防止它们做数据包优化)。
我在每个版本中都使用coverage reports 维护一个非常严格的测试套件。
错误仍然存在,但它们通常很小,而且客户端会不断改进。 :)
examples 页面提供了快速介绍,但javadoc 提供了非常详细的信息。
我有一个映射到缓存的接口以及一个功能性的 CAS 抽象。二进制和文本都支持 incr-with-default 机制(由二进制协议提供,但在文本中比较棘手)。
我在服务器本身上做了一个lot of work,所以我跟上协议的变化。
我完成了第一个二进制协议服务器实现(测试服务器和 memcached 本身),这是第一个支持它的生产就绪客户端,而且做到一流。
我还支持多种哈希算法和节点分布算法,所有这些算法都针对每个构建都经过了良好的测试。如果你想要更好的性能,你可以做一个股票 ketama 一致的哈希,或使用 FNV-1(甚至是 java 的本机字符串哈希)的派生。
【讨论】:
我相信 memcached java 客户端是最好的客户端。
【讨论】:
【讨论】:
大约一年前,当我不得不使用 memcached java 客户端时,spymemcached 连接器被描述为具有更多功能的优化 API。从那时起,memcached 客户端已经发布了许多新版本,因此可能值得一试。
FWIW 间谍客户端非常适合我。
【讨论】:
我一直在使用 SpyMemcached,我不得不承认它是目前市面上最好的,有很多更新的改进。
【讨论】:
有memcached client for Java 和spymemcached。不过两者都没有太多经验。
【讨论】:
请尝试xmemcached,它也是基于nio的,并且有一些强大的功能。
【讨论】: