Valkey: SidekiqでValkeyを設定する

このドキュメントはRubyでの利用方法ガイドの一部です。完全なガイドはこちらからご覧いただけます:RubyでValkeyに接続する方法

👋 Stackhero ドキュメントへようこそ!

Stackhero では、すぐにご利用いただける Valkey cloud ソリューションをご提供しています。主な特長は以下の通りです:

  • Redis Commander Web UI を標準搭載。
  • メッセージサイズや転送が無制限
  • ワンクリックで簡単にアップデート可能。
  • プライベートかつ専用インフラによる最適なパフォーマンスと強固なセキュリティ

時間を節約し、運用をシンプルに:Stackhero の Valkey cloud hosting ソリューションは、わずか5分でお試しいただけます!

Sidekiqは、環境変数REDIS_URLで定義されたValkeyサーバーを自動的に利用します。

環境変数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

この設定により、Valkeyサーバーが利用できなくなった場合でも、クライアントは2分間再接続を試みてからエラーを報告します。たとえばValkeyサーバーの再起動時などに猶予を持たせることができます。Sidekiqの利用状況に応じて、この設定値は適宜調整してください。

SidekiqとValkeyの詳細については、公式ドキュメントもご参照ください。