直接上配置:
1.redis-config:
<bean id="jedisPoolConfig" class="redis.clients.jedis.JedisPoolConfig">
<!-- 池中可借的最大数 -->
<!-- <property name="maxActive" value="120" /> -->
<!-- 允许池中空闲的最大连接数 -->
<property name="maxIdle" value="30" />
<!-- 允许池中空闲的最小连接数 -->
<property name="minIdle" value="10" />
<!-- 获取连接最大等待时间(毫秒) -->
<!-- <property name="maxWait" value="12000" /> -->
<!-- 当maxActive到达最大数,获取连接时的操作 0.抛异常 1.阻塞等待 2.创建新的(maxActive将失效) -->
<!-- <property name="whenExhaustedAction" value="1" /> -->
<!-- 在获取连接时,是否验证有效性 -->
<property name="testOnBorrow" value="true" />
<!-- 在归还连接时,是否验证有效性 -->
<property name="testOnReturn" value="true" />
<!-- 当连接空闲时,是否验证有效性 -->
<property name="testWhileIdle" value="true" />
<!-- 设定间隔没过多少毫秒进行一次后台连接清理的行动 -->
<property name="timeBetweenEvictionRunsMillis" value="1800000" />
<!-- 每次检查的连接数 -->
<property name="numTestsPerEvictionRun" value="5" />
</bean>
<!-- Redis集群配置 这里使用的是spring-data-redis 包中内容 -->
<bean id="redisClusterConfig" class="org.springframework.data.redis.connection.RedisClusterConfiguration">
<property name="maxRedirects" value="${redis.maxRedirects}"></property>
<property name="clusterNodes">
<set>
<bean class="org.springframework.data.redis.connection.RedisNode">
<constructor-arg name="host" value="${redis.host1}"></constructor-arg>
<constructor-arg name="port" value="${redis.port1}"></constructor-arg>
</bean>
<bean class="org.springframework.data.redis.connection.RedisNode">
<constructor-arg name="host" value="${redis.host2}"></constructor-arg>
<constructor-arg name="port" value="${redis.port2}"></constructor-arg>
</bean>
<bean class="org.springframework.data.redis.connection.RedisNode">
<constructor-arg name="host" value="${redis.host3}"></constructor-arg>
<constructor-arg name="port" value="${redis.port3}"></constructor-arg>
</bean>
</set>
</property>
</bean>
<bean id="jedisConnectionFactory" class="org.springframework.data.redis.connection.jedis.JedisConnectionFactory">
<property name="poolConfig" ref="jedisPoolConfig"></property>
<!--<property name="hostName" value="${redis.host}"></property>-->
<!--<property name="port" value="${redis.port}"></property>-->
<constructor-arg name="clusterConfig" ref="redisClusterConfig" />
<property name="timeout" value="${redis.timeout}"></property>
<!--<property name="password" value="password"></property> <property name="database"
value="${redis.database}"></property> -->
</bean>
<!-- redis template definition -->
<bean id="redisTemplate" class="org.springframework.data.redis.core.RedisTemplate" p:connection-factory-ref="jedisConnectionFactory">
<property name="keySerializer">
<bean class="org.springframework.data.redis.serializer.StringRedisSerializer" />
</property>
</bean>
2.****.properties:
redis.host1=127.0.0.1
redis.port1=6378
redis.host2=127.0.0.1
redis.port2=6377
redis.host3=127.0.0.1
redis.port3=6376
redis.maxRedirects=3
redis.timeout=120000
3.相关依赖版本:
<spring-framework.version>4.2.6.RELEASE</spring-framework.version>
<spring-data-redis.version>1.8.1.RELEASE</spring-data-redis.version>
<!-- Common -->
<io.version>2.4</io.version>
<jedis.version>2.9.0</jedis.version>