标签:
jedis功能强大,但是不能像nodejs一样指定从slave中读数据,使数据量读写量较大时读写分离,减少redis压力.
我们可以利用jedis中的方法封装一个类似于此的方法.
github地址: https://github.com/candyleer/jedis-enhance
使用方法如:
指定masterName名称,sentinels 地址,并定义一个连接池,初始化后可以从中获取一个jedis连接,支持哨兵的master切换后重新选举合适的slave,如果当前连接的slave挂了,需要重新启动服务进行连接(因为此时不会触发redis哨兵自动master选举.)
<bean id="jedisSentinelPool" class="com.candy.cache.jedis.JedisSentinelPool">
<constructor-arg name="masterName" value="test"/>
<constructor-arg name="sentinels" value="127.0.0.1:26279,127.0.0.1:36379" />
<constructor-arg name="poolConfig" ref="poolConfig" />
<constructor-arg name="role" value="slave" />
<constructor-arg name="timeout" value="5000" />
</bean>
标签:
原文地址:http://www.cnblogs.com/candylee/p/5701840.html