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,您可以加入以下功能:
- 快取(Caching):在 Rails 中將 Redis 作為快取儲存,減少資料庫查詢次數,加快回應速度。
- 背景工作處理(Background job processing):透過 Sidekiq、Resque 等函式庫,利用 Redis 作為後端,實現可靠且高效的背景任務執行。
- 即時功能(Real-time features):利用 Redis Pub/Sub 建構通知、聊天室或即時分析等功能,實現元件間的高速訊息傳遞。
Stackhero 提供即開即用的 Redis cloud 服務,具備多項節省您時間的功能:
- 內建
Redis Commander網頁管理介面,輕鬆管理資料。- 無訊息大小或傳輸量限制。
- 一鍵升級,操作無縫流暢。
- 專屬私有基礎架構,確保穩定效能與高安全性。
您可以快速開始:透過 Stackhero 的 Redis cloud hosting,部署與設定僅需數分鐘。
將 Redis 設定為 Ruby on Rails 的快取系統
要整合 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
Sidekiq 會自動使用您在 REDIS_URL 環境變數中指定的 Redis 伺服器。請如下設定,並更新 <yourPassword> 與 <XXXXXX>:
REDIS_URL="rediss://default:<yourPassword>@<XXXXXX>.stackhero-network.com:6380"
如需更深入說明,請參考 Sidekiq 關於 Redis 使用的文件。
使用 Resque 設定 Redis
Resque 也會從 REDIS_URL 環境變數讀取 Redis 伺服器設定。請如下設定,將 <yourPassword> 與 <XXXXXX> 替換為您的資訊:
REDIS_URL="rediss://default:<yourPassword>@<XXXXXX>.stackhero-network.com:6380"
如需更多有關 Resque 搭配 Redis 的說明,請參考 Resque 官方文件。