1.错误描述
org.springframework.data.redis.RedisSystemException: Error in execution; nested exception is io.lettuce.core.RedisCommandExecutionException: READONLY You can’t write against a read only slave.
2.错误原因
Java连接redis实现缓存的时候出现org.springframework.data.redis.RedisSystemException: Error in execution; nested exception is io.lettuce.core.RedisCommandExecutionException: READONLY You can’t write against a read only slave.错误原因为:因为我以前在学习Redis的复制(Master/Slave)采用了一主二仆的方式来进行复制,刚好在做项目的时候错误的把salve节点的redis连接在了项目中,因为连接的是从节点,从节点只有读的权限,没有写的权限,所以导致了项目出错。
在这里插入图片描述

3.解决办法
第一种:你可以修改你连接redis的配置,确保连接的redis是mater主节点就可以了。
第二种:你也可以修改你slave的edis.conf配置文件,修改配置文件的slave-read-only为no,那么从节点也就可以进行写的操作了,代码不会报错

Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐