redisで永続性を無効にする方法は?


91

redisでの存在を無効にする方法を考えていました。ここでこれを行う可能性についての言及があります:http//redis.io/topics/persistence。私はそこで説明されているのとまったく同じ意味でそれを意味します。どんな助けでも大歓迎です!


迷惑ではないにしても、これに関する公式Webサイトに指示がなく、インターネット上にこれに関する多くの情報がないことは驚くべきことです(stackoverflow.com/questions/19581059/…の投票数がはるかに多く、文書化されているよりも優れています)この)。全体的に見て、Redisは非永続データベースとして使用されることがよくあります。
Akronix 2018

回答:


111

Redisですべてのデータの永続性を無効にするには、redis.confファイルで次の手順を実行します。

  1. appendonly構成ディレクティブをno(デフォルト値)に設定して、AOFを無効にします。このような:

    appendonly no
    
  2. すべてのsave構成ディレクティブにコメントを付けて、RDBスナップショットを無効にします(デフォルトで定義されているものは3つあります)

    #save 900 1
    #save 300 10
    #save 60 10000
    

変更後は、必ずRedisを再起動して適用してください。

または、CONFIG SETコマンドを使用して実行時にこれらの変更を適用することもできます(CONFIG REWRITE変更を永続化するためにも必ず実行してください)。

注:Redisのバージョンによっては、レプリケーション関連のタスクのためにRedisがディスクにアクセスできないようにする他の調整があります。


1
redis> config set auto-aof-rewrite-percentage 0
toontong 2015

2
3つのsaveディレクティブをコメントアウトして、データをディスクに保存しないようにRedisを構成しました。データを定期的にスナップショットする必要がなくなったことがわかります。ただし、サーバーをシャットダウンするたびに、.rdbファイルがディスクに書き込まれるのを確認できます。とにかく、おそらくフェイルオーバープロセスのために作成できますか?
Jolta 2017

1
これを実際に効果的にするには、ここにリストされているコマンドを使用してcliを介して実行できます:stackoverflow.com/a/34736871/2904315または、この回答で説明されているようにredis.confファイルを変更してから、次のコマンドでサービスを再起動します。systemctl restart redis
Akronix 2018

Linuxでは、redis.confファイルは/etc/redis/redis.conf
Amin Shojaei

77

redis.conf(開発/テスト環境)でのプレイを避けたい場合は、コマンドラインから

redis-server --save "" --appendonly no

(Redisのサーバーでテスト3.2.6して5.0.5


1
本当に--appendonly no必要ですか?デフォルトではオフではありませんか?
aleclarson 2018

4
本当かもしれません。しかし、安全のために、そこに追加しても問題はありません。必要なのは、すべてのタイプの永続性を無効にすることです;)
Kostis 2018

うーん、WSL(Ubuntu 16)のWindows 10では機能しませんでした
JamesGentes19年

@JamesGentesエラーは何ですか。これは、Redis5.0.3を搭載したFedora29で動作し、今すぐテストしました。おそらく、Windowsでは別の方法で引数を渡す必要がありますか?Redisバージョンとは何ですか?redis-server --helpおそらくいくつかの洞察与えることができる
Kostis

1
バージョン5.0.5でも動作します。
アッバス

17

AOF(appendonly)はデフォルトで無効になっているため、redisサービスを再起動せずに永続性を無効にするために実行する必要があるのは、保存構成を無効にすることだけです。

実行時に無効にし、以下のコマンドを実行することを確認するには

現在の保存構成を確認する

pawan@devops:~$ redis-cli config get save
1) "save"
2) "900 1 300 10 60 10000"

同じ設定がredis.confファイルにも存在します

pawan@devops:~$ grep -w 'save' /etc/redis/redis.conf | grep -v '#'
save 900 1
save 300 10
save 60 10000

保存構成を無効にする

pawan@devops:~$ redis-cli config set save ""
OK

redis.confファイルを新しい保存構成で変更して、redisサービスの再起動時に構成が永続的になるようにします

root@ip-172-16-3-114:~# redis-cli config rewrite
OK

新しい保存構成を確認します

pawan@devops:~$ redis-cli config get save
1) "save"
2) ""

ここで、redis.confファイルをスキャンして構成を保存する場合、結果はありません。

pawan@devops:~$ grep -w 'save' /etc/redis/redis.conf | grep -v '#'  
pawan@devops:~$

8

RDBスナップショットの場合、を使用して無効にすることができます

$ sed -e '/save/ s/^#*/#/' -i /etc/redis/redis.conf && sudo service redis-server restart

redis.confの保存行をコメント化し、redis-serverを再起動します

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.