前言
最近在项目中出现了问题,出于好奇跟踪一下源码,我**,低版本的Lettuce原来有如此大的一个坑
jdk7+spring-data-redis-1.7.11+Lettuce-3.4.2.Final+Redis Cluster
问题描述
众所周知,在Lettuce是一款线程安全的,采用Netty作为NIO框架管理连接。
本版本每次命令执行都是重新打开一个物理连接,在执行完指令后自动关闭物理连接。
我本人的小项目在https://gitee.com/xxfengxia/DemoLettuce.git,大家有兴趣可以下载运行
配置
<bean id="systemApiClusterConfiguration"
class="org.springframework.data.redis.connection.RedisClusterConfiguration">
<property name="maxRedirects" value="3"/>
<!-- 节点配置 -->
<property name="clusterNodes">
<set>
<bean class="org.springframework.data.redis.connection.RedisClusterNode">
<constructor-arg name="host" value="10.5.16.110"/>
<constructor-arg name="port" value="8385"/>
</bean>
</set>
</property>
</bean>
<bean id="systemApiClusterConnectionFactory" class="org.springframework.data.redis.connection.lettuce.LettuceConnectionFactory">
<constructor-arg ref="systemApiClusterConfiguration" />
<property name="validateConnection" value="true"/>
</bean>