请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

redis Could not get a resource from the pool

代码本地测试正常

远程连接服务器redis正常 ping正常

但是访问服务器项目首页 获取商铺类别信息时 报错

断点跟到JedisUtil类下 getJedis方法
return jedisPool.getResource(); 这里抛出异常

尝试把服务器redis删除 重新安装还是不行

正在回答 回答被采纳积分+3

3回答

丶远走高飞 2018-05-31 21:30:13

同学 请问你最后是怎么解决该问题的 我也出现了

0 回复 有任何疑惑可以回复我~
翔仔 2018-04-13 13:34:22

spring-redis.xml

<?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:context="http://www.springframework.org/schema/context"
	xsi:schemaLocation="http://www.springframework.org/schema/beans
    http://www.springframework.org/schema/beans/spring-beans.xsd
    http://www.springframework.org/schema/context
    http://www.springframework.org/schema/context/spring-context.xsd">
	<!-- Redis连接池的设置 -->
	<bean id="jedisPoolConfig" class="redis.clients.jedis.JedisPoolConfig">
		<!-- 控制一个pool可分配多少个jedis实例 -->
		<property name="maxTotal" value="${redis.pool.maxActive}" />
		<!-- 连接池中最多可空闲maxIdle个连接 ,这里取值为20,表示即使没有数据库连接时依然可以保持20空闲的连接,而不被清除,随时处于待命状态。 -->
		<property name="maxIdle" value="${redis.pool.maxIdle}" />
		<!-- 最大等待时间:当没有可用连接时,连接池等待连接被归还的最大时间(以毫秒计数),超过时间则抛出异常 -->
		<property name="maxWaitMillis" value="${redis.pool.maxWait}" />
		<!-- 在获取连接的时候检查有效性 -->
		<property name="testOnBorrow" value="${redis.pool.testOnBorrow}" />
	</bean>

	<!-- 创建Redis连接池,并做相关配置 -->
	<bean id="jedisWritePool" class="com.imooc.o2o.cache.JedisPoolWriper"
		depends-on="jedisPoolConfig">
		<constructor-arg index="0" ref="jedisPoolConfig" />
		<constructor-arg index="1" value="${redis.hostname}" />
		<constructor-arg index="2" value="${redis.port}" type="int" />
	</bean>

	<!-- 创建Redis工具类,封装好Redis的连接以进行相关的操作 -->
	<bean id="jedisUtil" class="com.imooc.o2o.cache.JedisUtil" scope="singleton">
		<property name="jedisPool">
			<ref bean="jedisWritePool" />
		</property>
	</bean>
	<!-- Redis的key操作 -->
	<bean id="jedisKeys" class="com.imooc.o2o.cache.JedisUtil$Keys"
		scope="singleton">
		<constructor-arg ref="jedisUtil"></constructor-arg>
	</bean>
	<!-- Redis的Strings操作 -->
	<bean id="jedisStrings" class="com.imooc.o2o.cache.JedisUtil$Strings"
		scope="singleton">
		<constructor-arg ref="jedisUtil"></constructor-arg>
	</bean>
	<!-- Redis的Lists操作 -->
	<bean id="jedisLists" class="com.imooc.o2o.cache.JedisUtil$Lists"
		scope="singleton">
		<constructor-arg ref="jedisUtil"></constructor-arg>
	</bean>
	<!-- Redis的Sets操作 -->
	<bean id="jedisSets" class="com.imooc.o2o.cache.JedisUtil$Sets"
		scope="singleton">
		<constructor-arg ref="jedisUtil"></constructor-arg>
	</bean>
	<!-- Redis的HashMap操作 -->
	<bean id="jedisHash" class="com.imooc.o2o.cache.JedisUtil$Hash"
		scope="singleton">
		<constructor-arg ref="jedisUtil"></constructor-arg>
	</bean>
</beans>

redis.properties:

redis.hostname=47.104.1.235
redis.port=6379
redis.database=0
redis.pool.maxActive=100
redis.pool.maxIdle=20
redis.pool.maxWait=3000
redis.pool.testOnBorrow=true

一般解决方案

https://blog.csdn.net/qh_java/article/details/54669973

0 回复 有任何疑惑可以回复我~
翔仔 2018-04-12 20:53:01

同学可以在你可以用redis-cli -h非127.0.0.1的ip去连redis看能否连上 不行的话还是没支持远程访问

0 回复 有任何疑惑可以回复我~
  • 提问者 SsssZzzz #1
    能连上
    回复 有任何疑惑可以回复我~ 2018-04-13 12:01:11
  • 翔仔 回复 提问者 SsssZzzz #2
    请问之前能否访问得上,若之前都不可以,请检查一下配置
    回复 有任何疑惑可以回复我~ 2018-04-13 13:33:06
问题已解决,确定采纳
还有疑问,暂不采纳
意见反馈 帮助中心 APP下载
官方微信