Xmemcached 1.2.2 发布-下载

  Xmemcached 1.2.2发布下载了,使用Xmemcached的朋友可以从Xmemcached在Google code上的站点下载最新版的Xmemcached 1.2.2使用。Xmemcached是基于java nio实现的高性能可扩展的memcached客户端,而memcached应该是近年来最流行的缓存系统之一。这里值得一提的是Xmemcached使用的NIO框架是,Xmemcached作者开发的yanf4j框架,因此性能十分优秀。

XMemcached的主要特性包括
  1. XMemcached拥有超高的性能
    • XMemcached 同样是基于java nio的客户端,java nio相比于传统阻塞io模型来说,有效率高(特别在高并发下)和资源耗费相对较少的优点。传统阻塞IO为了提高效率,需要创建一定数量的连接形成连接池,而nio仅需要一个连接即可(当然,nio也是可以做池化处理),相对来说减少了线程创建和切换的开销,这一点在高并发下特别明显。因此 XMemcached与Spymemcached在性能都非常优秀,在某些方面(存储的数据比较小的情况下)Xmemcached比 Spymemcached的表现更为优秀,具体可以看这个Java Memcached Clients Benchmark。
      支持完整的协议
  2. Xmemcached支持所有的memcached协议,包括1.4.0正式开始使用的二进制协议。
    支持客户端分布
  3. Memcached的分布只能通过客户端来实现,XMemcached实现了此功能,并且提供了一致性哈希(consistent hash)算法的实现。
  4. 允许设置节点权重
    • XMemcached允许通过设置节点的权重来调节memcached的负载,设置的权重越高,该memcached节点存储的数据将越多,所承受的负载越大。
  5. 动态增删节点
    • XMemcached允许通过JMX或者代码编程实现节点的动态添加或者移除,方便用户扩展和替换节点等。
      支持JMX
  6. XMemcached通过JMX暴露的一些接口,支持client本身的监控和调整,允许动态设置调优参数、查看统计数据、动态增删节点等。
  7. 与Spring框架和Hibernate-memcached的集成
    • 鉴于很多项目已经使用Spring作为IOC容器,因此XMemcached也提供了对Spring框架的集成支持。Hibernate-memcached是一个允许将memcached作为hibernate的二级缓存的开源项目,默认是使用Spymemcached,Xmemcached提供了对这个项目的支持,允许替换Spymemcached.
      客户端连接池
  8. 刚才已经提到java nio通常对一个memcached节点使用一个连接,而XMemcached同样提供了设置连接池的功能,对同一个memcached可以创建N个连接组成连接池来提高客户端在高并发环境下的表现,而这一切对使用者来说却是透明的。启用连接池的前提条件是保证数据之间的独立性或者数据更新的同步,对同一个节点的各个连接之间是没有做更新同步的,因此应用需要保证数据之间是相互独立的或者全部采用CAS更新来保证原子性。
    可扩展性
  9. XMemcached是基于java nio框架yanf4j实现的,因此在实现上结构相对清楚,分层比较明晰,下面是XMemcached的主要类的UML图:

    Xmemcached

    Xmemcached

XMemcached下载地址:
XMemcached下载

Updated Jan 11 (43 hours ago) by killme2008
Labels: Phase-Support, UserGuide, 用户指南

User_Guide_zh

用户指南

这里。 简单来说,Memcached 是一个高性能的分布式内存对象的key-value缓存系统,用于动态Web应用以减轻数据库负载,现在也有很多人将它作为内存式数据库在使 用,memcached通过它的自定义协议与客户端交互,而XMemcached就是它的一个java客户端实现。

Memcached的java客户端已经存在两个了:官方提供的基于传统阻塞io由Greg Whalin维护的客户端、Dustin Sallings实现的基于java nio的Spymemcached。另外还有一些在此基础上的改进版本。相比于这些客户端,XMemcached有什么优点呢?或者说,它的主要特性有哪些?

Java Memcached Clients Benchmark

二进制协议

Hibernate-memcached是一个允许将memcached作为hibernate的二级缓存的开源项目,默认是使用Spymemcached,Xmemcached提供了对这个项目的支持,允许替换Spymemcached.

yanf4j实现的,因此在实现上结构相对清楚,分层比较明晰,下面是XMemcached的主要类的UML图:
[ad#468-60]