报错:Cannot get Jedis connection; nested exception is redis.clients.jedis.exceptions.

使用spring测试redis相关操作时,出现以下错误

"C:\Z cap\jdk8u91\bin\java.exe" "-javaagent:C:\Z cap\idea\IntelliJ IDEA 2020.2.3\lib\idea_rt.jar=60156:C:\Z cap\idea\IntelliJ IDEA 2020.2.3\bin" -Dfile.encoding=UTF-8 -classpath "C:\Z cap\jdk8u91\jre\lib\charsets.jar;C:\Z cap\jdk8u91\jre\lib\deploy.jar;C:\Z cap\jdk8u91\jre\lib\ext\access-bridge-64.jar;C:\Z cap\jdk8u91\jre\lib\ext\cldrdata.jar;C:\Z cap\jdk8u91\jre\lib\ext\dnsns.jar;C:\Z cap\jdk8u91\jre\lib\ext\jaccess.jar;C:\Z cap\jdk8u91\jre\lib\ext\jfxrt.jar;C:\Z cap\jdk8u91\jre\lib\ext\localedata.jar;C:\Z cap\jdk8u91\jre\lib\ext\nashorn.jar;C:\Z cap\jdk8u91\jre\lib\ext\sunec.jar;C:\Z cap\jdk8u91\jre\lib\ext\sunjce_provider.jar;C:\Z cap\jdk8u91\jre\lib\ext\sunmscapi.jar;C:\Z cap\jdk8u91\jre\lib\ext\sunpkcs11.jar;C:\Z cap\jdk8u91\jre\lib\ext\zipfs.jar;C:\Z cap\jdk8u91\jre\lib\javaws.jar;C:\Z cap\jdk8u91\jre\lib\jce.jar;C:\Z cap\jdk8u91\jre\lib\jfr.jar;C:\Z cap\jdk8u91\jre\lib\jfxswt.jar;C:\Z cap\jdk8u91\jre\lib\jsse.jar;C:\Z cap\jdk8u91\jre\lib\management-agent.jar;C:\Z cap\jdk8u91\jre\lib\plugin.jar;C:\Z cap\jdk8u91\jre\lib\resources.jar;C:\Z cap\jdk8u91\jre\lib\rt.jar;F:\java相关文件\RedisFolder\Redis-String\target\classes;C:\Users\鲍超\.m2\repository\redis\clients\jedis\3.3.0\jedis-3.3.0.jar;C:\Users\鲍超\.m2\repository\org\slf4j\slf4j-api\1.7.30\slf4j-api-1.7.30.jar;C:\Users\鲍超\.m2\repository\org\apache\commons\commons-pool2\2.6.2\commons-pool2-2.6.2.jar;C:\Users\鲍超\.m2\repository\org\springframework\data\spring-data-redis\2.3.3.RELEASE\spring-data-redis-2.3.3.RELEASE.jar;C:\Users\鲍超\.m2\repository\org\springframework\data\spring-data-keyvalue\2.3.3.RELEASE\spring-data-keyvalue-2.3.3.RELEASE.jar;C:\Users\鲍超\.m2\repository\org\springframework\data\spring-data-commons\2.3.3.RELEASE\spring-data-commons-2.3.3.RELEASE.jar;C:\Users\鲍超\.m2\repository\org\springframework\spring-context\5.2.8.RELEASE\spring-context-5.2.8.RELEASE.jar;C:\Users\鲍超\.m2\repository\org\springframework\spring-expression\5.2.8.RELEASE\spring-expression-5.2.8.RELEASE.jar;C:\Users\鲍超\.m2\repository\org\springframework\spring-tx\5.2.8.RELEASE\spring-tx-5.2.8.RELEASE.jar;C:\Users\鲍超\.m2\repository\org\springframework\spring-beans\5.2.8.RELEASE\spring-beans-5.2.8.RELEASE.jar;C:\Users\鲍超\.m2\repository\org\springframework\spring-core\5.2.8.RELEASE\spring-core-5.2.8.RELEASE.jar;C:\Users\鲍超\.m2\repository\org\springframework\spring-jcl\5.2.8.RELEASE\spring-jcl-5.2.8.RELEASE.jar;C:\Users\鲍超\.m2\repository\org\springframework\spring-oxm\5.2.8.RELEASE\spring-oxm-5.2.8.RELEASE.jar;C:\Users\鲍超\.m2\repository\org\springframework\spring-aop\5.2.8.RELEASE\spring-aop-5.2.8.RELEASE.jar;C:\Users\鲍超\.m2\repository\org\springframework\spring-context-support\5.2.8.RELEASE\spring-context-support-5.2.8.RELEASE.jar" com.bc.string.StringTest
SLF4J: Failed to load class "org.slf4j.impl.StaticLoggerBinder".
SLF4J: Defaulting to no-operation (NOP) logger implementation
SLF4J: See http://www.slf4j.org/codes.html#StaticLoggerBinder for further details.
Exception in thread "main" org.springframework.data.redis.RedisConnectionFailureException: Cannot get Jedis connection; nested exception is redis.clients.jedis.exceptions.JedisConnectionException: Could not get a resource from the pool
	at org.springframework.data.redis.connection.jedis.JedisConnectionFactory.fetchJedisConnector(JedisConnectionFactory.java:282)
	at org.springframework.data.redis.connection.jedis.JedisConnectionFactory.getConnection(JedisConnectionFactory.java:476)
	at org.springframework.data.redis.core.RedisConnectionUtils.doGetConnection(RedisConnectionUtils.java:134)
	at org.springframework.data.redis.core.RedisConnectionUtils.getConnection(RedisConnectionUtils.java:97)
	at org.springframework.data.redis.core.RedisConnectionUtils.getConnection(RedisConnectionUtils.java:84)
	at org.springframework.data.redis.core.RedisTemplate.execute(RedisTemplate.java:215)
	at org.springframework.data.redis.core.RedisTemplate.execute(RedisTemplate.java:188)
	at org.springframework.data.redis.core.AbstractOperations.execute(AbstractOperations.java:96)
	at org.springframework.data.redis.core.DefaultValueOperations.set(DefaultValueOperations.java:236)
	at com.bc.string.StringTest.main(StringTest.java:14)
Caused by: redis.clients.jedis.exceptions.JedisConnectionException: Could not get a resource from the pool
	at redis.clients.jedis.util.Pool.getResource(Pool.java:59)
	at redis.clients.jedis.JedisPool.getResource(JedisPool.java:288)
	at redis.clients.jedis.JedisPool.getResource(JedisPool.java:15)
	at org.springframework.data.redis.connection.jedis.JedisConnectionFactory.fetchJedisConnector(JedisConnectionFactory.java:272)
	... 9 more
Caused by: redis.clients.jedis.exceptions.JedisConnectionException: Failed connecting to 192.168.83.128:6379
	at redis.clients.jedis.Connection.connect(Connection.java:165)
	at redis.clients.jedis.BinaryClient.connect(BinaryClient.java:109)
	at redis.clients.jedis.BinaryJedis.connect(BinaryJedis.java:1904)
	at redis.clients.jedis.JedisFactory.makeObject(JedisFactory.java:130)
	at org.apache.commons.pool2.impl.GenericObjectPool.create(GenericObjectPool.java:889)
	at org.apache.commons.pool2.impl.GenericObjectPool.borrowObject(GenericObjectPool.java:424)
	at org.apache.commons.pool2.impl.GenericObjectPool.borrowObject(GenericObjectPool.java:349)
	at redis.clients.jedis.util.Pool.getResource(Pool.java:50)
	... 12 more
Caused by: java.net.SocketTimeoutException: connect timed out
	at java.net.DualStackPlainSocketImpl.waitForConnect(Native Method)
	at java.net.DualStackPlainSocketImpl.socketConnect(DualStackPlainSocketImpl.java:85)
	at java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:350)
	at java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.java:206)
	at java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:188)
	at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:172)
	at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:392)
	at java.net.Socket.connect(Socket.java:589)
	at redis.clients.jedis.DefaultJedisSocketFactory.createSocket(DefaultJedisSocketFactory.java:53)
	at redis.clients.jedis.Connection.connect(Connection.java:158)
	... 19 more

Process finished with exit code 1

解决方法:
使用的redis是在linux中,而linux中防火墙未关闭,导致redis无法访问,关闭linux的防火墙即可,在linux中操作以下指令:

systemctl stop firewalld

查看防火墙状态指令:

systemctl status firewalld
firewalld.service - firewalld - dynamic firewall daemon
   Loaded: loaded (/usr/lib/systemd/system/firewalld.service; enabled; vendor preset: enabled)
   Active: inactive (dead) since Wed 2020-11-18 14:26:15 CST; 9s ago
     Docs: man:firewalld(1)
  Process: 6255 ExecStart=/usr/sbin/firewalld --nofork --nopid $FIREWALLD_ARGS (code=exited, status=0/SUCCESS)
 Main PID: 6255 (code=exited, status=0/SUCCESS)

Nov 18 14:22:42 localhost.localdomain firewalld[6255]: WARNING: COMMAND_FAILED: '/u....
Nov 18 14:22:42 localhost.localdomain firewalld[6255]: WARNING: COMMAND_FAILED: '/u....
Nov 18 14:22:42 localhost.localdomain firewalld[6255]: WARNING: COMMAND_FAILED: '/u....
Nov 18 14:22:42 localhost.localdomain firewalld[6255]: WARNING: COMMAND_FAILED: '/u....
Nov 18 14:22:42 localhost.localdomain firewalld[6255]: WARNING: COMMAND_FAILED: '/u....
Nov 18 14:22:42 localhost.localdomain firewalld[6255]: WARNING: COMMAND_FAILED: '/u....
Nov 18 14:22:42 localhost.localdomain firewalld[6255]: WARNING: COMMAND_FAILED: '/u....
Nov 18 14:22:42 localhost.localdomain firewalld[6255]: WARNING: COMMAND_FAILED: '/u....
Nov 18 14:26:14 localhost.localdomain systemd[1]: Stopping firewalld - dynamic fire....
Nov 18 14:26:15 localhost.localdomain systemd[1]: Stopped firewalld - dynamic firew....
Hint: Some lines were ellipsized, use -l to show in full.

防火墙已关闭,即可在spring中访问redis了

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
报错“Cannot get Jedis connection; nested exception is redis.clients.jedis.exceptions.JedisException”是由于在调试代码时无法获取Jedis连接引起的。 解决这个问题的方法是确保已正确配置了Redis连接信息,并且Redis服务器正常运行。您可以检查以下几点: 1. 确保已正确导入了Jedis相关的jar包,如jedis-2.4.1.jar、redis.clients-3.0.1.jar、jedis-3.0.0.jar。 2. 检查您的代码中是否正确地创建了Jedis连接池,并指定了正确的Redis服务器地址和端口。 3. 检查您的代码中是否正确地获取Jedis连接并执行相关操作之前,已经初始化了连接池。 4. 如果您的代码中使用了缓存配置,如<***请确保已正确配置了缓存 eviction 和 type 属性。 如果您已经检查过上述内容并确认没有问题,您还可以尝试以下步骤来解决这个问题: 1. 检查您的网络连接是否正常,尝试重新连接Redis服务器。 2. 检查Redis服务器的运行状态,确保Redis服务器已正常启动并且没有其他配置或权限问题。 3. 检查Redis服务器的配置文件,如redis.conf,确保没有限制连接数或其他相关设置。 通过以上步骤,您应该能够解决报错“Cannot get Jedis connection; nested exception is redis.clients.jedis.exceptions.JedisException”的问题。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *3* [redis使用问题一:Cannot get Jedis ... nested exception is redis.clients.jedis.exceptions.JedisExce...](https://blog.csdn.net/denghe4720/article/details/101362329)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] - *2* [jedis-2.4.1.jar、redis.clients-3.0.1.jar、jedis-3.0.0.jar](https://download.csdn.net/download/a284835492/86796955)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值