Redis®*: 配合 Sidekiq 設定 Redis
此文件屬於配合 Ruby 使用指南的一部分。請在此處查看完整指南:如何將 Redis 與 Ruby 連接。
👋 歡迎瀏覽 Stackhero 文件!
Stackhero 提供即開即用的 Redis cloud 方案,帶來多項優勢,包括:
- 已包含
Redis Commander網頁介面。- 無限訊息大小及傳輸量。
- 一鍵輕鬆完成更新。
- 以專屬私人基礎設施提供最佳效能及強大安全性。
節省時間,簡化您的工作流程:只需5分鐘即可體驗 Stackhero 的 Redis cloud hosting 方案!
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 client 設定:
# 檔案 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 伺服器暫時無法連線時,client 會在 2 分鐘內持續重試,之後才會回報錯誤。 這樣可讓 Redis 伺服器有時間重啟,例如進行維護時。 您可根據實際 Sidekiq 使用情況,調整此參數以符合您的需求。
如需更多有關 Sidekiq 與 Redis 的資訊,請參閱 官方文件。