我在我的机器上安装了Redis,我在Spring应用程序中使用Jedis客户端将一些数据写入Redis。出于某些原因,每次写入时,Redis的连接数都会不断堆积,直到我收到JedisConnectionFailureException。
My Spring Jedis Config文件如下所示:
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:p="http://www.springframework.org/schema/p"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans.xsd">
<!-- Redis conection factory configurations -->
<bean id="redisConnectionFactory" class="org.springframework.data.redis.connection.jedis.JedisConnectionFactory"
p:host-name="${redis.host}"
p:port="${redis.port}"
p:password="${redis.password}"
p:use-pool="true" />
<!-- Redis String Serializer -->
<bean id="stringRedisSerializer" class="org.springframework.data.redis.serializer.StringRedisSerializer"/>
<!-- JDK Serialization Redis Serializer -->
<bean id="jdkSerializationRedisSerializer" class="org.springframework.data.redis.serializer.JdkSerializationRedisSerializer"/>
<!-- Configuring the Redis Template -->
<bean id="redisTemplate" class="org.springframework.data.redis.core.RedisTemplate"
p:connection-factory-ref="redisConnectionFactory"
p:keySerializer-ref="stringRedisSerializer"
p:valueSerializer-ref="jdkSerializationRedisSerializer" />
在我的整个应用中,这是我创建连接的唯一地方。
在我的spring-app中,我使用如下连接:
redisTemplate.opsForValue().set("key", "value");
答案 0 :(得分:0)
问题在于错误的Spring Data Redis TX Sync算法 - 它有bugs。
它已修复,自Spring Data Redis 1.3 GA
以来可用