码迷,mamicode.com
首页 > 编程语言 > 详细

使用memcachedclientXmemcached与Spring整合

时间:2017-07-01 18:23:18      阅读:211      评论:0      收藏:0      [点我收藏+]

标签:builder   方便   server   区分   jmx   pac   center   name   分布   

1 简单介绍
Xmemcached是一个高性能的基于java nio的memcachedclient。在经过三个RC版本号后。正式公布1.10-final版本号。


xmemcached特性一览:
1、高性能
2、支持完整的memcached文本协议,二进制协议将在1.2版本号实现。
3、支持JMX,能够通过MBean调整性能參数、动态加入/移除server、查看统计等。
4、支持client统计
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

server列表。格式: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();

 

使用memcachedclientXmemcached与Spring整合

标签:builder   方便   server   区分   jmx   pac   center   name   分布   

原文地址:http://www.cnblogs.com/jhcelue/p/7102910.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!