JedisDataSource不能用
时间: 2023-10-24 14:17:40 浏览: 29
JedisDataSource是Jedis提供的一个实现了javax.sql.DataSource接口的类,可以将Jedis连接池集成到Java应用中,方便地进行Redis数据的读写操作。如果你在使用JedisDataSource时遇到了问题,可以检查以下几点:
1. 是否正确地配置了Jedis连接池的参数,如最大连接数、最大空闲连接数、连接超时时间等。
2. 是否正确地引入了Jedis和JedisDataSource的依赖,如是否在pom.xml中添加了以下依赖:
```
<dependency>
<groupId>redis.clients</groupId>
<artifactId>jedis</artifactId>
<version>3.0.1</version>
</dependency>
<dependency>
<groupId>redis.clients</groupId>
<artifactId>jedis-spring</artifactId>
<version>3.0.1</version>
</dependency>
```
3. 是否正确地配置了JedisDataSource的Bean,如是否添加了以下配置:
```
<bean id="jedisPoolConfig" class="redis.clients.jedis.JedisPoolConfig">
<property name="maxTotal" value="100" />
<property name="maxIdle" value="50" />
<property name="minIdle" value="10" />
<property name="testOnBorrow" value="true" />
<property name="testOnReturn" value="true" />
<property name="testWhileIdle" value="true" />
<property name="timeBetweenEvictionRunsMillis" value="30000" />
</bean>
<bean id="jedisConnectionFactory" class="org.springframework.data.redis.connection.jedis.JedisConnectionFactory">
<property name="poolConfig" ref="jedisPoolConfig" />
<property name="usePool" value="true" />
<property name="hostName" value="localhost" />
<property name="port" value="6379" />
</bean>
<bean id="redisTemplate" class="org.springframework.data.redis.core.RedisTemplate">
<property name="connectionFactory" ref="jedisConnectionFactory" />
<property name="keySerializer">
<bean class="org.springframework.data.redis.serializer.StringRedisSerializer" />
</property>
<property name="valueSerializer">
<bean class="org.springframework.data.redis.serializer.GenericToStringSerializer" />
</property>
</bean>
<bean id="jedisDataSource" class="org.springframework.data.redis.connection.jedis.JedisConnection">
<constructor-arg ref="jedisConnectionFactory" />
</bean>
```
如果以上几点都正确无误,但仍然无法使用JedisDataSource,可以考虑使用其他的Jedis连接池方式,或者使用Lettuce作为Redis客户端。