READONLY: READONLY You can't write against a read only replica(読み取り専用レプリカには書き込めない)
Redis意味
書き込みコマンドがレプリカ (slave) ノードに送られた。レプリカはデフォルトで読み取り専用であり、書き込みはマスターでのみ実行できる。
原因
クライアントがマスターではなくレプリカに接続している、フェイルオーバー後に旧マスターがレプリカになった、Sentinel/Cluster での誤ったノードへのルーティング、またはロードバランサーが書き込みをレプリカに転送している。
対処方法
書き込み要求をマスターノードにルーティングする。Sentinel を使う場合は Sentinel に現在のマスターを照会する (SENTINEL get-master-addr-by-name)。Cluster では正しいシャードのマスターに書き込む。クライアントライブラリで読み取り/書き込みの分離を構成する。フェイルオーバー後は接続を更新し、新しいマスターを指すようにする。
同じデータベースの他の項目
- OOMOOM command not allowed when used memory > 'maxmemory'(使用メモリが maxmemory を超えたためコマンド不可)
- NOAUTHNOAUTH Authentication required(認証が必要)
- WRONGPASSWRONGPASS invalid username-password pair or user is disabled(ユーザー名とパスワードの組が無効、またはユーザーが無効)
- MASTERDOWNMASTERDOWN Link with MASTER is down and replica-serve-stale-data is set to 'no'(マスターとのリンクが切断)
- CLUSTERDOWNCLUSTERDOWN The cluster is down / Hash slot not served(クラスタ停止 / ハッシュスロット未提供)
- LOADINGLOADING Redis is loading the dataset in memory(データセットをメモリにロード中)
- BUSYBUSY Redis is busy running a script. You can only call SCRIPT KILL or SHUTDOWN NOSAVE(スクリプト実行中でビジー)