Posted at

Redisを本番運用する前に知っておくべきだったこと


知っておきたかったこと


日本語翻訳のドキュメントがある

英語だから後回しにしてたけど、日本語翻訳あるなら早く読もう!

Redisは扱いが難しくなく、普通に使うだけならある程度仕組みを理解してなくても使えちゃうのでこういうことがおきるんだな。。

公式ではないみたいだけど、大体の雰囲気を掴むのには十分な情報量と正確さだと思うので一読しておくと良いかも。

データの永続性:

https://redis-documentasion-japanese.readthedocs.io/ja/latest/topics/persistence.html


Redis使いは定期バックアップを当たり前にしている(そのコマンドが用意されている)

バックアップ生成コマンドのsaveには、引数が渡せる。

save 60 1000

とすると、60秒毎に1000個の以上のキーの変更があったらバックアップを取るようになる。


バックアップ関連作業をする前に知っておきたかった

ワーキングディレクトリには保存コマンドを実行してはじめてdump.rdb(名前はredis.confで変更可能)が生成される。


その他Tipsメモ


データファイル名の変更


redis.conf

dbfilename dump.rdb


dump.rdbの部分を好きなファイル名にする。


データファイルの保存ディレクトリ変更


redis.conf

dir /usr/local/var/db/redis/


dirの部分を好きな場所にする。


バックグラウンドで起動する

--daemonize yesオプションを使う。

redis-server /usr/local/etc/redis.conf --daemonize yes

こんな感じで設定すると、

- 設定ファイルは/usr/local/etc/redis.confを使い、

- バックグラウンドで起動する

という命令になる。(僕はいつもこのコマンドで起動してます。)


データファイルの保存場所をコマンドラインから取得(confファイルを開かずに)

redis-cliの中で



config get dir



とする。

configコマンドは他の設定も取れる。


バックアップ

save:

通常保存。保存が終わるまでアクセスできないので本番環境では非推奨。

bgsave:

バックグラウンドで保存処理を実行する。保存中も動いているのでアクセス可能。本番環境で実行するならこっち。

lastsave:

 bgsaveが成功したか確認する。bgsaveの最終timestampを返してくれる。