老項目須要集成redis集羣redis
由於spring版本才從2.x升級上來,再升級可能改動較大,且並不是maven項目升級麻煩,故直接集成。spring
jar包準備:maven
jedis-2.9.0.jar -- 聽說只有這個版本支持 密碼...spa
commons-pool2-2.0.jarcode
spring-data-redis-1.8.1.RELEASE.jarblog
spring-data-commons-1.8.1.RELEASE.jar字符串
<!-- redis-開始 --> <bean id="jedisPoolConfig" class="redis.clients.jedis.JedisPoolConfig"> <!--最大空閒數 --> <property name="maxIdle" value="${redis.maxIdle}" /> <!--最大創建鏈接等待時間 --> <property name="maxWaitMillis" value="${redis.maxWait}" /> <!--是否在從池中取出鏈接前進行檢驗,若是檢驗失敗,則從池中去除鏈接並嘗試取出另外一個 --> <property name="testOnBorrow" value="${redis.testOnBorrow}" /> </bean> <bean id="jedis" class="redis.clients.jedis.JedisCluster"> <constructor-arg> <set> <bean class="redis.clients.jedis.HostAndPort"> <constructor-arg name="host" value="${redis.host1}"></constructor-arg> <constructor-arg name="port" value="${redis.port1}"></constructor-arg> </bean> <bean class="redis.clients.jedis.HostAndPort"> <constructor-arg name="host" value="${redis.host2}"></constructor-arg> <constructor-arg name="port" value="${redis.port2}"></constructor-arg> </bean> <bean class="redis.clients.jedis.HostAndPort"> <constructor-arg name="host" value="${redis.host3}"></constructor-arg> <constructor-arg name="port" value="${redis.port3}"></constructor-arg> </bean> <bean class="redis.clients.jedis.HostAndPort"> <constructor-arg name="host" value="${redis.host4}"></constructor-arg> <constructor-arg name="port" value="${redis.port4}"></constructor-arg> </bean> <bean class="redis.clients.jedis.HostAndPort"> <constructor-arg name="host" value="${redis.host5}"></constructor-arg> <constructor-arg name="port" value="${redis.port5}"></constructor-arg> </bean> <bean class="redis.clients.jedis.HostAndPort"> <constructor-arg name="host" value="${redis.host6}"></constructor-arg> <constructor-arg name="port" value="${redis.port6}"></constructor-arg> </bean> </set> </constructor-arg> <constructor-arg name="connectionTimeout" value="${redis.timeout}" /> <constructor-arg name="soTimeout" value="${redis.timeout}" /> <constructor-arg name="maxAttempts" value="${redis.maxAttempts}" /> <constructor-arg name="password" value="${redis.password}" /> <constructor-arg name="poolConfig"> <ref bean="jedisPoolConfig" /> </constructor-arg> </bean> <!-- redis-結束 -->
redis.maxIdle=200
redis.maxActive=1000
redis.maxWait=1000
redis.testOnBorrow=true
redis.timeout=30
redis.maxAttempts=300
redis.password=xxxxxx
# 10.10.130.150:1501,10.10.130.150:1502,10.10.130.150:1503,10.10.130.150:1504,10.10.130.150:1505,10.10.130.150:1506
redis.host1=10.10.130.150
redis.port1=1501
redis.host2=10.10.130.150
redis.port2=1502
redis.host3=10.10.130.150
redis.port3=1503
redis.host4=10.10.130.150
redis.port4=1504
redis.host5=10.10.130.150
redis.port5=1505
redis.host6=10.10.130.150
redis.port6=1506
public class RedisUtil { private static JedisCluster jedis = (JedisCluster) SpringContextHolder.getBean("jedis"); private RedisUtil() { } /** * 獲取指定key的值,若是key不存在返回null,若是該Key存儲的不是字符串,會拋出一個錯誤 * * @param key * @return */ public static String getstr(String key) { String value = null; value = jedis.get(key); return value; } /** * 設置key的值爲value * * @param key * @param value * @return */ public static String set(String key, String value) { return jedis.set(key, value); } }
若是須要配置 redisTemplate的須要 spring版本 4.x ,不然會有各類錯誤。get