最近项目中要用到缓存,无意中了解到memcached使用比较广泛,但考虑到以后其它情况(有可能换其它缓存),想了想
应该用一个更灵活的方法来管理缓存,经过资料查找和自己耐心调试,最终还是出来了(暂未过多考虑性能)
有个疑惑:这个客户端的连接池,设置连接的空闲时间短点好(n秒)还是设置时间长点好呢?(n小时)
时间长了,如果并发很大是不是连接很快就满了?
后来我修改了,一个客户端一个配置文件,这样用哪个客户端就只加载对应的配置文件
详请见附件(spring_memcached.zip )。 接口里的方法定义不是太合理,只是提供给有需要的朋友一个思路。
暂写了两个客户端的配置一个是官方客户端,一个是xmencached (也是网上找来或者看官方实现)。
spring配置(代码详见附件(一个接口,两个实现,两个配置文件),具体客户端支持包请自行下载):
<?xml version="1.0" encoding="UTF-8"?>
<beans
xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-2.5.xsd ">
<!--memcached 客户端***start-->
<bean id="memcachedPool" class="com.danga.MemCached.SockIOPool" factory-method="getInstance" init-method="initialize" destroy-method="shutDown">
<constructor-arg>
<value>neeaMemcachedPool</value>
</constructor-arg>
<property name="servers">
<list>
<value>192.168.54.207:12345</value>
<!--多服务器
<value>
192.168.54.207:12346
</value>
-->
</list>
</property>
<!--多服务器负载均衡-->
<!--<property name="weights">
<value>5,5</value>
</property>-->
<property name="initConn">
<value>20</value>
</property>
<property name="minConn">
<value>10</value>
</property>
<property name="maxConn">
<value>500</value>
</property>
<property name="maintSleep">
<value>30</value>
</property>
<property name="nagle">
<value>false</value>
</property>
<property name="maxIdle">
<value>6000</value>
</property>
<property name="socketTO">
<value>3000</value>
</property>
</bean>
<!--memcached client-->
<bean id="memcachedClient" class="com.danga.MemCached.MemCachedClient">
<constructor-arg>
<value>neeaMemcachedPool</value>
</constructor-arg>
<property name="compressEnable">
<value>true</value>
</property>
<property name="compressThreshold">
<value>4096</value>
</property>
</bean>
<!--memcached 客户端***end-->
<!--如果换客户端或者换缓存了,在web.mxl里切换加载对应的配置文件即可-->
<bean id="cache" class="com.kanmenzhu.impl.CacheClientImpl">
<property name="cacheProvider" ref="memcachedClient"/>
</bean>
</beans>
分享到:
相关推荐
在IT行业中,Spring框架是Java应用开发中的一个关键组件,它提供了一整套服务和工具,使得开发者可以更高效地构建可维护、可扩展的应用。而Memcached则是一种高性能、分布式内存对象缓存系统,常用于缓解数据库负载...
通过 `SSM`,开发者可以方便地在 `Spring` 应用程序中利用 `Memcached` 的高效缓存能力,提高应用的性能和响应速度。本文将详细介绍如何在 `Spring` 项目中配置和使用 `SSM`,以及其主要功能和优势。 **SSM 概述** ...
Spring提供了一套完整的集成机制,使得开发者能够方便地在Java应用中使用Memcached。 整合步骤通常分为以下几个阶段: 1. **添加依赖**:在项目中引入Memcached和Spring的对应依赖。如果你使用的是Maven,可以在...
当我们将Memcached与Spring集成时,我们可以利用Spring的IoC(Inversion of Control)和AOP(Aspect-Oriented Programming)特性来更方便地管理和使用缓存服务。 在"spring memcached 所需jar"这个场景中,我们关注...
"simple-spring-memcached-3.1.0-dist" 是一个针对Spring框架的缓存扩展,它使得在Spring应用中集成和使用Memcached成为可能。Memcached是一种高性能的分布式内存对象缓存系统,用于减少数据库负载,提高应用程序的...
这里,`MemcachedClientFactoryBean`用于创建Memcached客户端,`CaffeineCacheManager`作为Spring的缓存管理器,负责管理和维护缓存。`aop:config`部分则是启用AOP代理,使得缓存注解生效。 总结起来,Simple-...
MyBatis-Spring整合后,可以利用Spring的事务管理功能,简化数据库操作。 4. Memcached:Memcached是一个基于键值对的缓存系统,适合存储小块的、临时的数据。在Web应用中,它可以缓存数据库查询结果,减少数据库...
【标题】"hibernate4+spring4+memcached 工程"是一个集成项目,它结合了三个关键的开源技术,旨在提供一个高效且可扩展的后端数据管理解决方案。Hibernate 4是Java领域中最流行的ORM(对象关系映射)框架,它允许...
xmemcache-spring是其与Spring框架的整合,提供Spring的缓存抽象,使得在Spring应用中配置和使用Memcached更方便。 7. **配置步骤**: - 首先,在pom.xml中添加所需的依赖,包括memcached、hibernate-memcached和...
**Spring** 集成 Memcached 可以让应用更方便地管理和使用缓存服务。在描述中提到的集成配置文件(可能名为 `spring-memcached.xml` 或类似的名称),通常会定义一个 Memcached 的 Bean,设置服务器地址、超时时间等...
7. **易于扩展**:由于其小巧且模块化的设计,twemproxy方便添加新的功能或进行定制,以适应不同业务需求。 在实际使用twitter-twemproxy-40fde21这个版本时,你需要了解以下操作步骤: 1. **编译安装**:下载源...
SSM与Memcached整合是一个常见的Java Web开发技术组合,用于提升应用的性能和可扩展性。SSM是指Spring、Spring MVC和MyBatis三个框架的集成,而Memcached则是一种高性能、分布式内存对象缓存系统。这个项目是将这三...
在实际应用中,Java开发者通常会结合Spring框架来集成Memcached,这样可以更方便地管理和配置缓存。Spring提供了一个名为`Spring-Data-Memcached`的模块,它简化了Memcached的使用,包括事务管理、缓存策略和生命...
SSM整合Memcached缓存是将Spring、SpringMVC和MyBatis这三大Java Web开发框架与Memcached相结合,以实现高效的数据缓存功能。Memcached是一款轻量级的分布式内存对象缓存系统,用于减少数据库负载,提高应用程序性能...
- 扩展性:memcached支持多节点,便于扩展和负载均衡。 - 降低单点故障:如果某台Tomcat服务器宕机,session数据不会丢失,因为它们在memcached中是持久化的。 然而,这种方式也存在一些潜在的问题: - 安全性:...
此外,Java连接Memcached还可以结合Spring框架,利用`MemcachedTemplate`或`SimpleCacheManager`实现更高级别的缓存管理和操作。在分布式环境中,多个应用实例可以通过一致性哈希策略共享同一份缓存,提高系统的可...
spring+struts+mybatis+security+memcached+GBAC权限架构开源项目, 懂的自己下载看,不懂的就去问懂的,还有就是有的人说上一个版本的代码有点乱,我只能说你站在你的角度看,我站在我的角度写,说明我们有代沟,大概如此...
它还提供了丰富的特性,如支持完整的协议、客户端分布、节点权重设置、动态增删节点、JMX支持、Spring和Hibernate-memcached集成、连接池功能以及良好的可扩展性。 **推荐与建议** 考虑到官方客户端的新版本在性能...