概要
Redis Clusterのデータを全て消したい場合、各ノードでFLUSHALL
を行う必要があります。
どこか1台のマスターノードでFLUSHALL
を実行してもクラスタ内のデータは全消去されず、
redis-cliでアクセスしたサーバーのデータのみ削除されます。
また、クラスタ内の各マスターノードだけで実行してもスレーブがマスター昇格してしまいデータが再同期されてしまいデータが消えることはありません。
そこでマスター/スレーブ両方で同時にFLUSHALL
を行うことでデータを削除することが出来ます。
マスター
[root@redis-cluster01 ~]# redis-cli -c 127.0.0.1:6379> FLUSHALL OK (18.88s) 127.0.0.1:6379>
スレーブ
マスターと違ってスレーブはFLUSHALL
前にスレーブでもデータの書き換えが出来るよう
CONFIG SET slave-read-only "no"
を実行する必要があります。
[root@redis-cluster02 ~]# redis-cli -c 127.0.0.1:6379> CONFIG SET slave-read-only "no" OK 127.0.0.1:6379> FLUSHALL OK (18.88s) 127.0.0.1:6379>