redisの役割について
Closed this issue · 5 comments
@nabeta
初歩的な質問ですみません。enjuをGCP上に構築したいと思っており、各コンテナの役割を調べているのですが、redisは、どのようなことに使用していますか?
具体的には、Memorystore for Redis で代用ができるか検討しております。
@shin1kt Redisは、TSVインポートなどの非同期処理に使用しています。
https://railsguides.jp/active_job_basics.html
https://github.com/resque/resque
GCPは経験がないのですが、Memorystore for Redisはデータの永続化が行われないとドキュメントにあり、インポートが失敗したときなどの情報が残らないかもしれません。
なお、現在のDocker版では使用していませんが、Redisはキャッシュの保存先に使用することもできます。
https://railsguides.jp/caching_with_rails.html#activesupport-cache-rediscachestore
@nabeta
ご丁寧な回答ありがとうございます。なるほどインポートが失敗して接続が切れたときに問題がでるかもしれないということですね。いただいたヒントを元に調査して判断していきたいと思います。
Redisはキャッシュの保存先
ちなみに
docker compose run --rm web bundle exec rake sunspot:reindex
sunspotのreindexをするときにredisコンテナが起動しているようですが、solrのキャッシュをredisに保存しているというわけではないのでしょうか。
すみません。webのdepends onにsolrが設定されているから起動しているだけで、sunspotと関係しているわけではないですね。失礼しました。