Valkey: 使用 Ruby
如何將 Valkey 與 Ruby 連接
👋 歡迎來到 Stackhero 文件!
Stackhero 提供現成的 Valkey cloud 解決方案,帶來多種好處,包括:
- 包含
Redis Commander網頁介面。- 無限制的訊息大小和傳輸。
- 只需一鍵即可輕鬆更新。
- 由專用私有 VM提供的最佳效能和強大安全性。
節省時間並簡化您的生活:只需 5 分鐘即可嘗試 Stackhero 的 Valkey cloud hosting 解決方案!
Valkey 是一個開源的內存數據庫,設計上具有卓越的性能和靈活性。從 Redis 分支出來後,因其採用了更具限制性的許可證,Valkey 提供了一個完全開源的替代方案。它與 Redis 庫無縫兼容,是以前依賴 Redis 的項目的理想替代品。
通常被稱為 NoSQL 數據庫,Valkey 支援多種數據結構,如字符串、哈希、列表、集合和排序集合等。憑藉其高速操作和處理大量數據的能力,Valkey 成為了緩存、實時分析、消息傳遞等使用案例的熱門選擇。
Valkey 與 Ruby 和 Ruby on Rails 無縫整合,提升了性能、可擴展性和靈活性。Ruby 開發者可以利用 Valkey 實現如緩存、會話管理、實時數據處理和後台任務處理等功能。
以下是 Valkey 與 Ruby 和 Ruby on Rails 常見的使用方式:
-
緩存:Valkey 可以作為 Rails 應用程序中的緩存層,加快響應時間並減少數據庫負載。
-
後台任務處理:Valkey 可以作為流行的後台任務處理庫如 Sidekiq 和 Resque 的後端,提升 Rails 應用程序中後台任務的性能和可靠性。
-
實時功能:Valkey 的 Pub/Sub 功能使 Rails 應用程序能夠提供實時功能,如通知、聊天系統和實時分析,通過促進應用程序組件之間快速高效的消息傳遞。
Stackhero 提供了一個即用的 Ruby 雲端 解決方案,帶來多種好處,包括:
- 使用簡單的
git push在幾秒鐘內 部署您的應用程序。- 使用您自己的域名,並享受 自動配置 HTTPS 證書以增強安全性。
- 享受 自動備份、一鍵更新,以及簡單、透明和 可預測的定價,讓您安心無憂。
- 獲得最佳的 性能 和強大的 安全性,因為有一個 私有和專用的 VM。
節省時間 和 簡化您的生活:只需 5 分鐘 即可嘗試 Stackhero 的 Ruby 雲端託管 解決方案!
配置 Valkey 作為 Ruby on Rails 的緩存系統
要將 Valkey 配置為 Ruby on Rails 的緩存系統,請按照以下步驟進行:
- 安裝
redisgem:
bundle add redis
- 編輯
config/environments/production.rb文件並添加以下配置:
config.cache_store = :redis_cache_store, { url: ENV['VALKEY_URL'] }
- 定義
VALKEY_URL環境變量。使用以下格式的 URL,將<yourPassword>和<XXXXXX>替換為您的憑證:
VALKEY_URL="rediss://default:<yourPassword>@<XXXXXX>.stackhero-network.com:<PORT_TLS>"
有關將 Valkey 配置為 Ruby on Rails 緩存系統的更多詳細信息,您可以查閱 官方 Rails 文檔。
配置 Valkey 與 Sidekiq
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) # 嘗試重新連接 240 次,每 0.5 秒一次(總共 120 秒/2 分鐘)然後觸發錯誤
}
end
此配置確保如果您的 Valkey 服務器變得不可用,客戶端將在 2 分鐘內嘗試重試,然後才報告錯誤。這給了 Valkey 服務器重新啟動的時間。例如,根據您的 Sidekiq 使用情況,您可以調整此設置以更好地滿足您的具體需求。
有關 Sidekiq 和 Valkey 的更多信息,您可以查閱 官方文檔。
配置 Valkey 與 Resque
要使用 Valkey 與 Resque,請按以下方式設置環境變量 REDIS_URL,將 <yourPassword> 和 <XXXXXX> 替換為您的憑證:
REDIS_URL="rediss://default:<yourPassword>@<XXXXXX>.stackhero-network.com:<PORT_TLS>"
Resque 將自動使用 REDIS_URL 環境變量中指定的 Valkey 服務器。
有關使用 Resque 與 Valkey 的更多信息,您可以參考 Resque 文檔。