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();
相关推荐
在Spring框架中,可以通过注解配置将Ehcache集成到业务逻辑中,例如使用`@Cacheable`、`@CacheEvict`等注解实现自动的缓存操作。 2. **xmemcached**: xmemcached是Java的一个高性能、线程安全的Memcached客户端库。...
spring+xmemcached aop切面 需要xmemcached-1.2.5+spring-2.5.6 class="net.rubyeye.xmemcached.utils.XMemcachedClientFactoryBean" destroy-method="shutdown"> ${XMemcached_servers} <!-- ...
【Xmemcached/jedis Spring Demo】是一个整合了Xmemcached和jedis的Spring示例项目,旨在帮助开发者理解和学习如何在Spring框架中集成并使用这两种流行的NoSQL客户端库。Xmemcached是Java编写的高效、易用的...
集成Spring** Spring框架在企业级Java应用中广泛应用,Xmemcached提供了一套完整的Spring整合方案。通过Spring的Bean管理,可以方便地在应用上下文中注入Memcached客户端,实现服务的自动配置和依赖注入。手册中会...
8. **易于集成**:Xmemcached与Spring框架有很好的兼容性,可以方便地与Spring的缓存抽象层集成,简化开发工作。 **Xmemcached版本1.3.3** 版本1.3.3是Xmemcached的一个稳定版本,可能包含了一些错误修复、性能...
- 对于使用Maven构建项目的用户,可以通过简单的依赖声明(如上述示例)轻松集成XMemcached。 #### 示例代码 以下是一段简单的XMemcached使用示例,展示如何建立连接、读写数据以及释放资源: ```java import ...
通过深入学习Kestrel的配置、管理和监控,掌握XMemcached的使用技巧,以及理解Spring TaskExecutor的线程池管理策略,开发者可以有效地优化应用程序的性能,同时保证系统的可伸缩性和可靠性。在实际项目中,可能还...
4. **扩展性**:支持多线程和多节点的分布式缓存,可扩展至大规模集群。 二、xmemcached 2.4.6新特性 在2.4.6版本中,xmemcached主要进行了以下改进: 1. **性能优化**:对网络通信层进行优化,降低了CPU和内存的...
这些API设计直观,易于理解和使用,使得开发人员能够快速集成Memcached到他们的项目中。 1. 连接管理:xmemcached支持多线程环境下的连接池管理,可以配置连接池大小,自动重连和心跳检测机制,确保了与Memcached...
【Xmemcached与SPRING整合】是将Xmemcached客户端库与Spring框架集成,以便在Spring应用程序中方便地使用memcached缓存服务。Xmemcached是一个高性能的Java NIO实现的memcached客户端,具备多种特性,如高性能、支持...
虽然spymemcached和xmemcached提供了高级功能和优化,但有些开发者可能更倾向于使用原生的Memcached协议进行通信。这通常需要自己处理连接管理和并发控制,但可以提供更高的灵活性和对底层细节的控制。使用原生接口...
xmemcached-1.2.4的官方源码。 xmemcached XMemcached is a high performance, easy to use blocking multithreaded memcached client in java. It's nio based (using my opensource nio framework :yanf4j), ...
- **简化开发流程**:考虑到许多项目已经使用Spring框架作为依赖注入容器,XMemcached提供了对Spring的支持。此外,XMemcached还支持与Hibernate-Memcached集成,后者允许将Memcached用作Hibernate的二级缓存。 **8...
在本项目中,我们主要探讨的是如何将Spring Cache与memcached进行整合,以提升应用程序的性能和效率。Spring Cache是Spring框架的一部分,它提供了一种抽象的缓存管理机制,可以方便地集成到各种缓存解决方案中,如...
`apidocs` 文件夹包含了 xmemcached 的 JavaDoc,是学习和使用 xmemcached 的重要参考资料。通过阅读文档,开发者可以详细了解每个类、接口、方法的用途和用法,更好地利用 xmemcached 实现高效的数据缓存功能。 ...
两个都可用,但xmc可以交由spring管理client对象的生命周期,而spymc却是spring能创建但无法关闭,研究结果为:用xmc来做客户端,需注意的地方就是spring配置文件中要使用:plain和BinaryCommandFactory。...
标题“Spring与memcached...总之,Spring与memcached的整合是提高Web应用性能的有效手段,通过合理的设计和配置,我们可以充分利用memcached的高速缓存能力,同时利用Spring的便利性,让缓存管理变得更加简单和高效。
- 创建Memcached客户端:使用`CacheFactory`来创建并配置Memcached客户端,这里使用`MemcacheClientFactoryImpl`作为客户端工厂,设置地址和配置参数,如超时时间、压缩选项等。 - 配置Spring缓存管理器:定义一个...
### Spring集成Memcached详解 #### 一、Memcached简介与客户端选择 Memcached是一种高性能、分布式内存对象缓存系统,用于减轻数据库负载、加速动态Web应用,并提高网站速度。Spring框架可以通过集成Memcached来...
xmemcached-1.2.6.2