您的位置:首页 > 数据库 > Memcache

Xmemcached使用之与Spring整合

2013-01-07 18:46 253 查看
1 简介

Xmemcached是一个高性能的基于java nio的memcached客户端。在经过三个RC版本后,正式发布1.10-final版本。

xmemcached特性一览:

1、高性能

2、支持完整的memcached文本协议,二进制协议将在1.2版本实现。

3、支持JMX,可以通过MBean调整性能参数、动态添加/移除server、查看统计等。

4、支持客户端统计

5、支持memcached节点的动态增减。

6、支持memcached分布:余数分布和一致性哈希分布。

7、更多的性能调整选项。

2 与Spring整合

XMemcached从1.1.2开始,能灵活方便的与Spring Framework整合在一起使用。

2.1 最简单例子

<bean name="memcachedClient" class="net.rubyeye.xmemcached.utils.XMemcachedClientFactoryBean">

<property name="servers">

<value>host1:port1 host2:port2</value>

</property>

</bean>

然后在bean中就可以使用memcachedClient了。

2.2 复杂一点儿的例子

<bean name="memcachedClient"

class="net.rubyeye.xmemcached.utils.XMemcachedClientFactoryBean">

<property name="servers">

<value>host1:port1 host2:port2 host3:port3</value>

</property>

<property name="weights">

<list>

<value>1</value>

<value>2</value>

<value>3</value>

</list>

</property>

<property name="sessionLocator">

<bean class="net.rubyeye.xmemcached.impl.KetamaMemcachedSessionLocator"></bean>

</property>

<property name="transcoder">

<bean class="net.rubyeye.xmemcached.transcoders.SerializingTranscoder" />

</property>

<property name="bufferAllocator">

<bean class="net.rubyeye.xmemcached.buffer.SimpleBufferAllocator"></bean>

</property>

</bean>

其中各参数的意义:
参数
含义
servers
服务器列表,格式:ip:port
weights
主机映射:host1对应1号、host2对应2号..
sessionLocator
Session 分配器,有自带的,影响分布式
transcoder
通信编码方式
bufferAllocator
缓冲区分配器
注:

默认标准Hash,
hash(key) mod server_count (余数分布)
MemcachedClientBuilder builder = new XMemcachedClientBuilder( AddrUtil.getAddresses("server1:11211
server2:11211 server3:11211")); MemcachedClient mc = builder.build();
可以改为Consistent Hash(一致性哈希):

MemcachedClientBuilder builder = new XMemcachedClientBuilder( AddrUtil.getAddresses("server1:11211
server2:11211 server3:11211")); builder.setSessionLocator(new KetamaMemcachedSessionLocator()); MemcachedClient mc = builder.build();
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: