読者です 読者をやめる 読者になる 読者になる

Redis ClusterのFLUSHALL

概要

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>