xmemcached spring 配置文件
memcached spring 配置文件
<bean class="java.net.InetSocketAddress" name="server1">
<constructor-arg>
<value>${memcached.server1.host}</value>
</constructor-arg>
<constructor-arg>
<value>${memcached.server1.port}</value>
</constructor-arg>
</bean>
<!-- # memcachedClientBuilder failureMode=false 是否啟用failure模式,true為啟用,默認(rèn)不啟用。所謂failure模式是指,
#connectionPoolSize=1 nio連接池大小,默認(rèn)對(duì)一個(gè)memcached節(jié)點(diǎn)只有一個(gè)連接,這在通常情況 下已經(jīng)有非常優(yōu)異的表現(xiàn)。但是在典型的高并發(fā)環(huán)境下,nio的單連接也會(huì)遇到性能瓶頸。可通過(guò)調(diào)整
連接池?cái)?shù)量,允許建立多個(gè)連接到同一個(gè)memcached節(jié)點(diǎn),但是請(qǐng)注意,這些連接之間是不同步的, 因此你的應(yīng)用需要自己保證數(shù)據(jù)更新的同步 -->
<bean id="memcachedClientBuilder" class="net.rubyeye.xmemcached.XMemcachedClientBuilder"
p:connectionPoolSize="${memcached.connectionPoolSize}" p:failureMode="${memcached.failureMode}"
p:connectTimeout="${memcached.connectTimeout}">
<!-- XMemcachedClientBuilder have two arguments.First is server list,and
second is weights array. -->
<!-- # 服務(wù)器節(jié)點(diǎn):形如:"主節(jié)點(diǎn)1:port,備份節(jié)點(diǎn)1:port 主節(jié)點(diǎn)2:port,備份節(jié)點(diǎn)2:port"的字符串, #可以不設(shè)置備份節(jié)點(diǎn),主備節(jié)點(diǎn)逗號(hào)隔開(kāi),不同分組空格隔開(kāi)
#由于該應(yīng)用功能是加載數(shù)據(jù),可以只考慮分布式,即以空格分隔ip的配置方式,不考慮主備關(guān)系 -->
<constructor-arg>
<list>
<bean class="java.net.InetSocketAddress">
<constructor-arg>
<value>${memcached.server1.host}</value>
</constructor-arg>
<constructor-arg>
<value>${memcached.server1.port}</value>
</constructor-arg>
</bean>
<!-- <bean class="java.net.InetSocketAddress"> <constructor-arg> <value>${memcached.server2.host}</value>
</constructor-arg> <constructor-arg> <value>${memcached.server2.port}</value>
</constructor-arg> </bean> <bean class="java.net.InetSocketAddress"> <constructor-arg>
<value>${memcached.server3.host}</value> </constructor-arg> <constructor-arg>
<value>${memcached.server3.port}</value> </constructor-arg> </bean> -->
</list>
</constructor-arg>
<!-- # 與servers對(duì)應(yīng)的節(jié)點(diǎn)的權(quán)重,格式同服務(wù)器節(jié)點(diǎn),權(quán)重是用來(lái)調(diào)節(jié)memcached的負(fù)載,設(shè)置的權(quán)重越高, 該memcached節(jié)點(diǎn)存儲(chǔ)的數(shù)據(jù)將越多,所承受的負(fù)載越大。 -->
<constructor-arg>
<list>
<value>${memcached.server1.weight}</value>
<!-- <value>${memcached.server2.weight}</value> <value>${memcached.server3.weight}</value> -->
</list>
</constructor-arg>
<!-- - #授權(quán)驗(yàn)證信息:形如: #"主節(jié)點(diǎn)1用戶名:密碼,備份節(jié)點(diǎn)1用戶名:密碼 主節(jié)點(diǎn)2用戶名:密碼,備份節(jié)點(diǎn)2用戶名:密碼"的字符串
#與服務(wù)器節(jié)點(diǎn)個(gè)數(shù)一致,密碼不允許有空格與: #舉例如:authInfo=user1:pwd1 user2:pwd2,此處的用戶名密碼memcached服務(wù)器主機(jī)的linux操作系統(tǒng)的用戶名密碼,
且必須被添加到可訪問(wèn)memcached服務(wù)用戶列表中,此處使用上面配置的用戶portaluser -->
<property name="authInfoMap">
<map>
<entry key-ref="server1">
<bean class="net.rubyeye.xmemcached.auth.AuthInfo"
factory-method="typical">
<constructor-arg index="0">
<value>a2f5428b3fff4899</value>
</constructor-arg>
<constructor-arg index="1">
<value>HO9le5lecache</value>
</constructor-arg>
</bean>
</entry>
<!-- <entry key-ref="server2"> <bean class="net.rubyeye.xmemcached.auth.AuthInfo"
factory-method="typical"> <constructor-arg index="0"> <value>>${memcached.server2.username}</value>
</constructor-arg> <constructor-arg index="1"> <value>${memcached.server2.password}</value>
</constructor-arg> </bean> </entry> <entry key-ref="server3"> <bean class="net.rubyeye.xmemcached.auth.AuthInfo"
factory-method="typical"> <constructor-arg index="0"> <value>>${memcached.server3.username}</value>
</constructor-arg> <constructor-arg index="1"> <value>${memcached.server3.password}</value>
</constructor-arg> </bean> </entry> -->
</map>
</property>
<!-- (1) 協(xié)議工廠 net.rubyeye.xmemcached.command.BinaryCommandFactory(二進(jìn)制) (2)
協(xié)議工廠 net.rubyeye.xmemcached.command.TextCommandFactory(文本) (3) 協(xié)議工廠 net.rubyeye.xmemcached.command.KestrelCommandFactory(可靠獲取) -->
<property name="commandFactory">
<bean class="net.rubyeye.xmemcached.command.BinaryCommandFactory" />
</property>
<property name="sessionLocator">
<!-- (1) net.rubyeye.xmemcached.impl.KetamaMemcachedSessionLocator 分布策略,一致性哈希(用于增加主機(jī)時(shí)降低未命中率問(wèn)題的解決)
(2) ArrayMemcachedSessionLocator(默認(rèn)) ,默認(rèn)分布的策略是按照key的哈希值模以連接數(shù)得到的余數(shù),對(duì)應(yīng)的連接就是將要存儲(chǔ)的節(jié)點(diǎn),
本應(yīng)用只需使用默認(rèn)策略即可。 -->
<bean class="net.rubyeye.xmemcached.impl.KetamaMemcachedSessionLocator" />
</property>
<!-- # 序列化轉(zhuǎn)換器,默認(rèn)使用net.rubyeye.xmemcached.transcoders.SerializingTranscoder -->
<property name="transcoder">
<bean class="net.rubyeye.xmemcached.transcoders.SerializingTranscoder" />
</property>
</bean>
<!-- Use factory bean to build memcached client 當(dāng)一個(gè)memcached節(jié)點(diǎn)down掉的時(shí)候,發(fā)往這個(gè)節(jié)點(diǎn)的請(qǐng)求將直接失敗,而不是發(fā)送給下一個(gè)有效的memcached節(jié)點(diǎn)。 -->
<bean id="memcachedClient" factory-bean="memcachedClientBuilder"
factory-method="build" destroy-method="shutdown" />

浙公網(wǎng)安備 33010602011771號(hào)