`

使用memcached客户端Xmemcached与Spring整合

 
阅读更多

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();

分享到:
评论

相关推荐

    Ehcache+xmemcached+redis 整合spring注解demo

    xmemcached提供了丰富的API,可以方便地与Spring整合,通过注解实现缓存管理。例如,可以使用`@Memcached`注解在方法上,使方法结果自动存储到Memcached服务器。 3. **Redis**: Redis是一个开源的、基于键值对的...

    SSM与memcached整合项目Spring Cache

    3. **配置memcached客户端**:创建一个`MemcachedClient`实例,设置连接池大小、超时时间等参数,并连接到memcached服务器。 4. **启用Spring Cache**:在Spring配置文件中,使用`@EnableCaching`注解启用缓存功能...

    Spring与memcached整合

    标题“Spring与memcached整合”涉及的是在Java开发环境中如何将Spring框架与memcached缓存系统相结合使用,以便提升应用程序的性能和响应速度。这里我们将深入探讨这一整合过程中的关键概念和技术。 首先,...

    xmemcache与SPRING整合

    【Xmemcached与SPRING整合】是将Xmemcached客户端库与Spring框架集成,以便在Spring应用程序中方便地使用memcached缓存服务。Xmemcached是一个高性能的Java NIO实现的memcached客户端,具备多种特性,如高性能、支持...

    Xmemcached/jedis springdemo

    Xmemcached是Java编写的高效、易用的Memcached客户端,而jedis则是用于连接Redis的Java客户端。本示例主要涵盖了以下知识点: 1. **Memcached和Redis**: - **Memcached** 是一种分布式内存对象缓存系统,常用于...

    Xmemcached官方中文手册

    Spring框架在企业级Java应用中广泛应用,Xmemcached提供了一套完整的Spring整合方案。通过Spring的Bean管理,可以方便地在应用上下文中注入Memcached客户端,实现服务的自动配置和依赖注入。手册中会详细介绍如何...

    SSM与memcached整合项目

    - 配置Memcached客户端库,如spymemcached或xmemcached,这些库提供与Memcached服务器通信的API。 - 在Spring配置文件中定义Memcached的bean,设置连接参数如服务器地址、端口等。 - 创建一个缓存管理器,比如...

    memcached+spring

    对于Java应用,有多种Memcached客户端库可供选择,如spymemcached、xmemcached、memcached4j等。其中,spymemcached是较为流行的一个,它提供了简单易用的API。 3. **集成Spring框架** 在Spring应用中,我们需要...

    xmemcached 中文开发手册

    XMemcached作为一款高度优化的memcached客户端,不仅支持memcached的所有功能,还提供了许多额外的功能,如动态节点管理、与Spring框架的集成等,使其成为现代Web应用程序的理想选择。通过本文的详细介绍,希望能...

    SSM整合memcached缓存

    SSM整合Memcached缓存是将Spring、SpringMVC和MyBatis这三大Java Web开发框架与Memcached相结合,以实现高效的数据缓存功能。Memcached是一款轻量级的分布式内存对象缓存系统,用于减少数据库负载,提高应用程序性能...

    Java环境下Memcached应用详解.docx

    例如,Java中常用的Memcached客户端有spymemcached、xmemcached等,它们都提供了基本的存取、删除和统计操作。 在Windows环境下,安装Memcached服务器非常简便,只需下载对应版本的可执行文件,双击运行即可启动...

    memcache-demo

    4. **集成XMemcached与Spring**:在Spring中使用XMemcached,需要在Spring配置文件中定义一个Bean来代表Memcached客户端,然后可以使用`@Cacheable`、`@CacheEvict`等注解实现方法级别的缓存控制。 5. **缓存配置**...

    memcached 的简单java实例

    Spymemcached是Java社区广泛使用的Memcached客户端,它的使用非常简单。以下是一个简单的Java实例,演示如何使用Spymemcached连接到Memcached服务器并执行基本操作: 1. **添加依赖** 首先,你需要在项目中添加...

    win7 64位 memcached springmvc memcached jar包

    为了更好地整合`SpringMVC`与`Memcached`,你可能还需要了解以下几点: 1. **序列化和反序列化**:由于`Memcached`存储的是原始字节,所以需要定义合适的序列化和反序列化策略,以确保对象在存取时的正确性。 2. **...

Global site tag (gtag.js) - Google Analytics