文档章节

Xmemcached使用之与Spring整合

abcijkxyz
 abcijkxyz
发布于 2016/07/08 16:29
字数 397
阅读 5
收藏 0
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();

本文转载自:http://blog.csdn.net/yuwenruli/article/details/8478201

共有 人打赏支持
abcijkxyz
粉丝 63
博文 6196
码字总数 1876
作品 0
深圳
项目经理
私信 提问
怎么关闭XMemcached在控制台打印的心跳哟?

用了Xmemcached之后,在控制台里面一直打印 [Xmemcached-Reactor-2] com.google.code.yanf4j.nio.impl.NioTCPSession.readFromBuffer(223) | read 15 bytes from channel 这样的信息,这个应......

Leaybc
2015/06/01
1K
2
Xmemcached异常超时:Timed out waiting for operation

Hi: XMemcached版本:1.4.3 使用spring管理,创建连接时使用MemcachedClientBuilder。 查询时:client.get(searchPkgNameList, 5); 其中searchPkgNameList会很大,一次大概有300个key。 异常...

黑豆白
2014/04/25
7.3K
3
Xmemcached 2.0 发布,高性能Java memcached客户端

高性能Java memcached客户端——Xmemcached发布2.0.0版本,主要改进如下: 性能优化,在测试中文本协议实现有接近10%的性能提升。 批量获取key如果包含相同的key,会缓存反序列化后的对象,减...

dennis_zhuang
2014/04/28
6.7K
5
spring集成xmemcached

spring集成xmemcached <dependency> <?xml version="1.0" encoding="UTF-8"?><beans xmlns="http://www.springframework.org/schema/beans" </beans>......

石头哥哥
2013/07/08
0
0
xmemcached 1.3.6发布,memcached的Java开发包

开源的memcached Java客户端——xmemcached发布1.3.6版本。 主要改进如下: 1. 为MemcachedClientBuilder添加两个新方法用于配置: public void setConnectTimeout(long connectTimeout); pu...

鉴客
2012/03/19
1K
1

没有更多内容

加载失败,请刷新页面

加载更多

js和OC交互

0.html+js 0.1html 代码 <!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <title>Title</title> <style> #colordv{ width: 100px;......

walking_yxf
10分钟前
0
0
点播转码相关常见问题及排查方式

概述: 点播转码目前涉及用户上传自动触发转码、通过SubmitTranscodeJobs接口触发转码等方式,会出现用户转码失败的情况,这当中有用户源片的问题、也有用户设置转码参数的原因以及相关资源性...

阿里云官方博客
12分钟前
0
0
工作笔记

Oracle锁表 查找被锁的表 select l.session_id,o.owner,o.object_namefrom v$locked_object l,dba_objects owhere l.object_id=o.object_id; 查找引发锁表的会话 select s.username,s.si......

呼呼南风
14分钟前
1
0
并发工具优于wati、notify(69)

现在几乎没有理由在使用wait 和 notify,使用高级工具代替 java.util.concurrent 包并发工具分三类: Executor 框架 并发集合(concurrent Collection) 同步器(synchronizer) 并发集合 对...

Java搬砖工程师
21分钟前
0
0
AutoCAD_系统变量

https://baike.sogou.com/v53561514.htm?fromTitle=cad%E5%8F%98%E9%87%8F lunits 设置线性单位。1 科学 2 小数 3 工程 4 建筑 5 分数 6 windesk...

一个小妞
28分钟前
3
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部