spring 管理 memcached (方便扩展)

 

最近项目中要用到缓存,无意中了解到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>

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值