`
eric_hwp
  • 浏览: 125907 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

Xmemcached集群配置使用和Spring整合

 
阅读更多
2009-07-20 17:10

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

    在Spring框架中,可以通过注解配置将Ehcache集成到业务逻辑中,例如使用`@Cacheable`、`@CacheEvict`等注解实现自动的缓存操作。 2. **xmemcached**: xmemcached是Java的一个高性能、线程安全的Memcached客户端库。...

    spring-xmemcached

    spring+xmemcached aop切面 需要xmemcached-1.2.5+spring-2.5.6 class="net.rubyeye.xmemcached.utils.XMemcachedClientFactoryBean" destroy-method="shutdown"&gt; ${XMemcached_servers} &lt;!-- ...

    Xmemcached/jedis springdemo

    【Xmemcached/jedis Spring Demo】是一个整合了Xmemcached和jedis的Spring示例项目,旨在帮助开发者理解和学习如何在Spring框架中集成并使用这两种流行的NoSQL客户端库。Xmemcached是Java编写的高效、易用的...

    Xmemcached官方中文手册

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

    xmemcached

    8. **易于集成**:Xmemcached与Spring框架有很好的兼容性,可以方便地与Spring的缓存抽象层集成,简化开发工作。 **Xmemcached版本1.3.3** 版本1.3.3是Xmemcached的一个稳定版本,可能包含了一些错误修复、性能...

    xmemcached 中文开发手册

    - 对于使用Maven构建项目的用户,可以通过简单的依赖声明(如上述示例)轻松集成XMemcached。 #### 示例代码 以下是一段简单的XMemcached使用示例,展示如何建立连接、读写数据以及释放资源: ```java import ...

    征服 Kestrel + XMemcached + Spring TaskExecutor

    通过深入学习Kestrel的配置、管理和监控,掌握XMemcached的使用技巧,以及理解Spring TaskExecutor的线程池管理策略,开发者可以有效地优化应用程序的性能,同时保证系统的可伸缩性和可靠性。在实际项目中,可能还...

    xmemcached 2.4.6.rar

    4. **扩展性**:支持多线程和多节点的分布式缓存,可扩展至大规模集群。 二、xmemcached 2.4.6新特性 在2.4.6版本中,xmemcached主要进行了以下改进: 1. **性能优化**:对网络通信层进行优化,降低了CPU和内存的...

    xmemcached-1.4.3.jar

    这些API设计直观,易于理解和使用,使得开发人员能够快速集成Memcached到他们的项目中。 1. 连接管理:xmemcached支持多线程环境下的连接池管理,可以配置连接池大小,自动重连和心跳检测机制,确保了与Memcached...

    xmemcache与SPRING整合

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

    memcache.spymemcached,和xmemcached 三种缓存实例

    虽然spymemcached和xmemcached提供了高级功能和优化,但有些开发者可能更倾向于使用原生的Memcached协议进行通信。这通常需要自己处理连接管理和并发控制,但可以提供更高的灵活性和对底层细节的控制。使用原生接口...

    xmemcached-1.2.4源码

    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), ...

    Xmemcached用户指南

    - **简化开发流程**:考虑到许多项目已经使用Spring框架作为依赖注入容器,XMemcached提供了对Spring的支持。此外,XMemcached还支持与Hibernate-Memcached集成,后者允许将Memcached用作Hibernate的二级缓存。 **8...

    SSM与memcached整合项目Spring Cache

    在本项目中,我们主要探讨的是如何将Spring Cache与memcached进行整合,以提升应用程序的性能和效率。Spring Cache是Spring框架的一部分,它提供了一种抽象的缓存管理机制,可以方便地集成到各种缓存解决方案中,如...

    xmemcached api doc

    `apidocs` 文件夹包含了 xmemcached 的 JavaDoc,是学习和使用 xmemcached 的重要参考资料。通过阅读文档,开发者可以详细了解每个类、接口、方法的用途和用法,更好地利用 xmemcached 实现高效的数据缓存功能。 ...

    阿里ocs客户端与spring集成,生命周期由spring管理

    两个都可用,但xmc可以交由spring管理client对象的生命周期,而spymc却是spring能创建但无法关闭,研究结果为:用xmc来做客户端,需注意的地方就是spring配置文件中要使用:plain和BinaryCommandFactory。...

    Spring与memcached整合

    标题“Spring与memcached...总之,Spring与memcached的整合是提高Web应用性能的有效手段,通过合理的设计和配置,我们可以充分利用memcached的高速缓存能力,同时利用Spring的便利性,让缓存管理变得更加简单和高效。

    Memcached spring 的集成

    - 创建Memcached客户端:使用`CacheFactory`来创建并配置Memcached客户端,这里使用`MemcacheClientFactoryImpl`作为客户端工厂,设置地址和配置参数,如超时时间、压缩选项等。 - 配置Spring缓存管理器:定义一个...

    spring集成memcached

    ### Spring集成Memcached详解 #### 一、Memcached简介与客户端选择 Memcached是一种高性能、分布式内存对象缓存系统,用于减轻数据库负载、加速动态Web应用,并提高网站速度。Spring框架可以通过集成Memcached来...

    xmemcached-1.2.6.2

    xmemcached-1.2.6.2

Global site tag (gtag.js) - Google Analytics