文章目录

报错日志

org.springframework.data.redis.RedisSystemException: Error in execution; nested exception is io.lettuce.core.RedisCommandExecutionException: READONLY You can’t write against a read only replica.
Caused by: io.lettuce.core.RedisCommandExecutionException: READONLY You can’t write against a read only replica.
在这里插入图片描述

解决方法

报错原因是当前访问的 redis 是从(slave)节点,进入redis客户端通过role指令可以查看redis是master、slave还是sentinel。
在这里插入图片描述
redis默认slave节点的 replica-read-only 属性为 yes(只读),将其修改为 no 即可(非集群模式下有效,cluster模式下无效)

  1. 进入redis容器
docker exec -it redis容器的CONTAINER ID或者NAMES /bin/bash
# 如下
docker exec -it f3e /bin/bash
  1. redis-cli 进入redis客户端
redis-cli
  1. 将 replica-read-only 设置为 no
config set replica-read-only no

在这里插入图片描述
ps: 或者直接修改 redis.config 文件,搜索 replica-read-only 设置为 no 即可

Logo

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

更多推荐