dump.rdbがカレントディレクトリに作成されてしまう問題
redisを導入したら、dump.rdbというファイルが生成されたのでgitignoreした方がいいのか講師の方に聞いたところ、そもそもカレントディレクトリに作られてしまうのがよろしくないのでredisの設定を変えた方がいいとのアドバイスを頂きました!
調べたこと
Redisはインメモリデータベースであるため、サーバプロセスが終了するとメモリ上のデータも消えてしまう。サーバプロセス終了後もデータを保持するための機能がRDBというもの。
Redisでは特定の時点のスナップショットをRDBファイル(データベースのダンプファイル)として保存することができる。
( https://www.sraoss.co.jp/tech-blog/redis/redis-persistdata/ )
対応内容
dump.rdbがカレントディレクトリに生成されてしまう - blog.kotamiyake.me
上記のサイトを参考に以下の手順を実施。
1. /usr/local/etc/redis.conf
の設定を確認し、以下の通り/usr/local/var/db/redis/
にdump.rdbが生成される設定になっていることを確認しました。
/usr/local/etc/redis.conf ~~略~~~ # The working directory. # # The DB will be written inside this directory, with the filename specified # above using the 'dbfilename' configuration directive. # # The Append Only File will also be created inside this directory. # # Note that you must specify a directory here, not a file name. dir /usr/local/var/db/redis/ ~~略~~~
2. 実際の設定はどうなっているのか確認。ここがカレントディレクトリになっていました。
% redis-server % redis-cli 127.0.0.1:6379> config get dir 1) "dir" 2) "/Users/natsumimatsuda/workspace/menta!/insta_clone/insta_clone_by_me"
3. この参考サイト曰く、そもそもredis-serverの起動時に設定ファイルのパスを指定してあげる必要があったようなので
% redis-server /usr/local/etc/redis.conf
としたら、ちゃんと設定通りの場所にdump.rdbファイルが生成されるようになりました。
% ls /usr/local/var/db/redis/ dump.rdb
% redis-serverで起動するとカレントディレクトリに生成されてしまうので、% redis-server /usr/local/etc/redis.conf
で起動するようにし、更に念の為gitignoreのdump.rdbを追加しておきました。