redis java报错,java 连接 redis 抛出一些异常及处理,和搭建集群时出现的一些错误...

本文主要介绍了在搭建和使用Redis集群时遇到的常见错误及其解决方法。包括Redis重启后报错'127.0.0.1:6379 is not empty',解决方式是删除相关文件;Java连接Redis时出现'connect refused'异常,需取消bind配置;解决Java连接集群时的'MOVED'异常,需使用RedisCluster对象。此外,还提到了Spring+SpringMVC+Redis集群配置中因IP不一致导致的'Too many cluster redirections'问题,解决办法是确保IP地址的一致性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1、集群时发生的错误

1.1、搭建集群发生的错误

在搭建完redis集群,重启了redis,抛出了127.0.0.1:6379 is not empty 。

解决方法:

删除对应的redis下面的 dump.rdb 和aof 已经nodes.conf文件(如果没修改redis中的cluster-config-file 选项的话,生成的文件默认是它)

在使用java 连接 redis时,抛出 connect refuse 异常

解决, 把redis.conf下面的 bind 127.0.0.1注释掉

1.2、java连接redis发生的错误

1.2.1

抛出 protected(具体的忘记了,大概就是redis的保护)

设置redis.conf下的 protected-mode no

1.2.2

在集群的时候,抛出 MOVED 127.0.0.1:6380 (之前使用的是Jedis对象连接redis,所以抛出这个异常)

解决,使用RedisCluster 这个对象连接redis

Set nodes = new HashSet<>();

nodes.add(new HostAndPort("192.168.75.128",6379));

nodes.add(new HostAndPort("192.168.75.128",6380));

JedisCluster cluster = new JedisCluster(nodes);

2、spring+springMVC+redis集群

2.1

抛出 Too many cluster redirections redis

解决:原因是,我在redis开启集群的时候,使用的IP地址是127.0.0.1;而在JAVA代码中,使用的是192.168.75.128。

具体解决方法参考http://blog.csdn.net/wzl19870...

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值