💤
RailsのキャッシュストアにRedisを使う場合の動作確認方法
Railsの小ネタです。
Railsのキャッシュストアとして:redis_cache_store
を指定すると、Redisにキャッシュさせることができます。
config.cache_store = :redis_cache_store, { url: ENV["REDIS_URL"] }
これが正しく設定されているかどうかを確認する方法です。
キャッシュストアに何が使われているか調べる
Rails consoleでRails.cache
をみると、キャッシュストアの設定が確認できます。
irb(main):001:0> Rails.cache.class
=> ActiveSupport::Cache::RedisCacheStore
キャッシュストアのRedisが正常に動作しているか調べる
Rails.cache.redis
はredis clientを返してきます。
irb(main):002:0> Rails.cache.redis
=> #<Redis client v4.8.1 for redis://redis:6379/0>
とりあえず動いているかどうか調べる手段としてping
メソッドがあります。ping
を実行してPONG
が返ってくれば動作していることは確認できます。
irb(main):004:0> Rails.cache.redis.ping
=> "PONG"
Redisに正常に接続できていない場合にはエラーが返ってきたりします。
irb(main):005:0> Rails.cache.redis.ping
/usr/local/bundle/gems/redis-4.8.1/lib/redis/client.rb:398:in `rescue in establish_connection': Error connecting to Redis on redis:6379 (SocketError) (Redis::CannotConnectError)
Discussion