Ruby: Redis

將 Ruby 及 Ruby on Rails 連接至 Redis,以實現高速快取及背景工作處理

👋 歡迎瀏覽 Stackhero 文件!

Stackhero 提供即用型的 Ruby cloud 解決方案,帶來多項優勢,包括:

  • 只需一個簡單的 git push,即可在數秒內部署您的應用程式。
  • 使用您自己的網域名稱,並享有自動配置HTTPS 憑證,提升安全性。
  • 享受自動備份一鍵更新,以及簡單、透明且可預測的收費
  • 憑藉專屬私有基礎設施,獲得最佳效能及強大安全性

節省時間簡化您的工作流程:只需5分鐘即可體驗 Stackhero 的 Ruby cloud hosting 解決方案!

Redis(Remote Dictionary Server)是一款以記憶體為基礎的資料庫,專為大規模環境下的速度與效率而設計。其核心優勢包括高吞吐量、低延遲及多元化的資料結構,使其成為快取、即時分析、訊息傳遞等多種應用的首選工具。

Redis 採用 GNU AGPLv3 授權。如果您需要一個授權更寬鬆的替代方案,Valkey 是一個由社群主導、採用 BSD 授權的 Redis 分支。它已被多間大型機構廣泛採用,並可於 Stackhero 上獲得。

Redis 支援多種資料型別,包括 string、hash、list、set 及 sorted set。其在大量資料及即時操作下的效能,對於希望提升應用程式速度、擴展性及可靠性的 Ruby 和 Ruby on Rails 開發者來說尤其有用。

利用 Redis,您可以加入以下功能:

  1. 快取(Caching):於 Rails 中使用 Redis 作為快取儲存,減少資料庫查詢次數,加快回應速度。
  2. 背景工作處理(Background job processing):配合如 Sidekiq 及 Resque 等函式庫,利用 Redis 作為後端,可靠且高效地執行背景任務。
  3. 即時功能(Real-time features):透過 Redis Pub/Sub 建立通知、聊天系統或即時分析等功能,實現元件間的高速訊息傳遞。

Stackhero 提供即用型 Redis cloud 服務,具備多項為您節省時間而設的功能:

  • 內建 Redis Commander 網頁介面,方便管理資料。
  • 不設訊息大小或傳輸量限制。
  • 流暢的 一鍵更新
  • 專屬私有基礎設施,確保 穩定效能及強化 安全性

您可迅速開始使用:透過 Stackhero 的 Redis cloud hosting,部署及設定僅需數分鐘。

如要整合 Redis 快取,請先將 redis gem 加入您的專案:

bundle add redis

然後,更新您的 config/environments/production.rb 檔案:

config.cache_store = :redis_cache_store, { url: ENV["REDIS_URL"] }

請設定 REDIS_URL 環境變數。將 <yourPassword><XXXXXX> 替換為您的實際認證資料:

REDIS_URL="rediss://default:<yourPassword>@<XXXXXX>.stackhero-network.com:6380"

如需更多細節及進階選項,請參閱 Rails 官方快取文件

Sidekiq 會自動使用您於 REDIS_URL 環境變數中指定的 Redis 伺服器。請如下設定,並更新 <yourPassword><XXXXXX>

REDIS_URL="rediss://default:<yourPassword>@<XXXXXX>.stackhero-network.com:6380"

如需更深入資訊,請參閱 Sidekiq 關於 Redis 使用的文件

Resque 同樣會從 REDIS_URL 環境變數讀取 Redis 伺服器。請如下設定,並替換 <yourPassword><XXXXXX>

REDIS_URL="rediss://default:<yourPassword>@<XXXXXX>.stackhero-network.com:6380"

如需更多有關於 Resque 配合 Redis 使用的指引,請參閱 Resque 官方文件