Redis®*: SidekiqでRedisを設定する
このドキュメントはRubyでの利用方法ガイドの一部です。完全なガイドはこちらからご覧いただけます:RubyでRedisに接続する方法。
👋 Stackhero ドキュメントへようこそ!
Stackhero では、すぐに使える Redis cloud ソリューションをご提供しています。主な特長は以下の通りです:
Redis CommanderWeb UI を標準搭載。- メッセージサイズ・転送量が無制限。
- ワンクリックで簡単にアップデート可能。
- プライベートかつ専用インフラによる最適なパフォーマンスと強固なセキュリティ。
時間を節約し、運用をシンプルに:Stackhero の Redis cloud hosting ソリューションは、わずか5分でお試しいただけます!
Sidekiqは、環境変数REDIS_URLで定義されたRedisサーバーを自動的に使用します。
環境変数REDIS_URLは、以下のように設定できます。<password>と<XXXXXX>をご自身の情報に置き換えてください:
REDIS_URL="rediss://default:<password>@<XXXXXX>.stackhero-network.com:<PORT_TLS>"
デフォルトでは、Sidekiqはネットワーク障害発生時の許容設定がされていません。これを改善するため、config/initializers/sidekiq.rbでSidekiqクライアントの設定を変更し、安定性を高めることを推奨します:
# ファイル config/initializers/sidekiq.rb
Sidekiq.configure_client do |config|
config.redis = {
network_timeout: 5, # タイムアウトを5秒に設定
pool_timeout: 5, # タイムアウトを5秒に設定
reconnect_attempts: Array.new(240, 0.5) # 0.5秒ごとに240回(合計120秒/2分間)再接続を試み、失敗した場合にエラーを発生させます
}
end
この設定により、Redisサーバーが利用できなくなった場合でも、クライアントは2分間再接続を試みてからエラーを報告します。 たとえば、Redisサーバーの再起動時などに猶予を持たせることができます。 Sidekiqの利用状況に応じて、この設定値はご要件に合わせて調整可能です。
SidekiqとRedisの詳細については、公式ドキュメントはこちらをご参照ください。