与Xmemcached相似的客户端实现有Memcached Client for Java,SpyMemcached,XMemcached ,这里提一下Xmemcached的三个特点:
1, 支持客户端分布。Memcached的分布只能通过客户端来实现,
XMemcached实现了此功能,并且提供了一致性哈希(consistent hash)算法的实现。-----(实现了一致hash算法后,在使用过程中如果有增加或减少了缓存节点,就会将影响限定在很少的范围之内)
xmemcached的API实现了一致性哈希(consistent hash)算法,这里有个简洁的类似算法:https://weblogs.java.net/blog/2007/11/27/consistent-hashing
2, 允许设置节点权重。XMemcached允许通过设置节点的权重来调节memcached的负载,
设置的权重越高,该memcached节点存储的数据将越多,所承受的压力越大 -----(与spring集成后,可直接在配置文件里进行配置)
3,动态增删节点。XMemcached允许通过JMX或者代码编程实现节点的动态添加或者移除,方便用户扩展和替换节点等-----(以实现了一致性hash算法为前提的)
缓存命中率 = get_hits/cmd_get * 100%
memcached的一个中文文档: