Ruby: Redis
如何將 Ruby 連接到 Redis
👋 歡迎來到 Stackhero 文檔!
Stackhero 提供一個即用型的 Ruby cloud 解決方案,帶來多種好處,包括:
- 只需一個簡單的
git push,即可在幾秒鐘內 部署您的應用程式。- 使用您自己的域名,並享受 HTTPS 證書的自動配置以增強安全性。
- 享受自動備份、一鍵更新,以及簡單、透明和可預測的定價,讓您安心無憂。
- 得益於專用的私人 VM,獲得最佳的性能和強大的安全性。
節省時間並簡化您的生活:只需 5 分鐘即可嘗試 Stackhero 的 Ruby cloud hosting 解決方案!
Redis,即 Remote Dictionary Server,是一款以卓越效能聞名的記憶體內資料庫。
Redis 採用 GNU AGPLv3 授權。如果您正在尋找採用寬鬆授權的替代方案,Valkey 是一個受歡迎、由社群維護的 Redis fork,採用 BSD 授權。它獲多家知名企業廣泛認可,亦可在 Stackhero 上使用。
Redis 常被描述為 NoSQL 資料庫,支援多種資料結構,包括 strings、hashes、lists、sets 和 sorted sets。由於它在處理大量資料時速度快且效率高,Redis 是 caching、即時分析、訊息傳遞等用途的熱門選擇。
當您想提升效能、擴展性和靈活性時,Redis 與 Ruby 及 Ruby on Rails 配合得非常好。透過 Redis,Ruby 開發者可以加入 caching、session 管理、即時資料處理,以及 background job processing 等功能。
以下是 Redis 與 Ruby 及 Ruby on Rails 的一些常見用法:
- Caching: Redis 可以在 Rails 應用程式中作為 cache store,以減輕資料庫負載並改善回應時間。
- Background job processing: Redis 常用作 Sidekiq 和 Resque 等熱門 job processing libraries 的 backend,協助背景工作更有效率且更可靠地執行。
- Real-time features: Redis Pub/Sub 可透過在應用程式元件之間快速傳遞訊息,實現通知、聊天系統和即時分析等 real-time features。
Stackhero 提供可即用的 Redis cloud 解決方案,並附帶多項實用優勢:
- 已包含
Redis Commanderweb UI。- Unlimited 訊息大小及傳輸。
- 只需一鍵即可輕鬆完成 updates。
- 由 private and dedicated VM 提供強大 performance 與穩固 security。
節省時間並簡化部署。只需 5 分鐘 即可試用 Stackhero 的 Redis cloud hosting 解決方案。
將 Redis 設定為 Ruby on Rails 的快取系統
首先,您可以安裝 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"
如果您想了解更多關於在 Ruby on Rails 中將 Redis 用作快取系統的詳情,可以參閱 Rails 官方文件。
使用 Sidekiq 設定 Redis
Sidekiq 會自動使用在 REDIS_URL 環境變數中定義的 Redis 伺服器。
您可以像這樣定義 REDIS_URL,並將 <yourPassword> 和 <XXXXXX> 替換為您自己的值:
REDIS_URL="rediss://default:<yourPassword>@<XXXXXX>.stackhero-network.com:6380"
如果您想進一步了解 Sidekiq 和 Redis,可以參閱官方文件。
使用 Resque 設定 Redis
Resque 會自動使用在 REDIS_URL 環境變數中定義的 Redis 伺服器。
您可以像這樣定義 REDIS_URL,並將 <yourPassword> 和 <XXXXXX> 替換為您自己的值:
REDIS_URL="rediss://default:<yourPassword>@<XXXXXX>.stackhero-network.com:6380"
如果您想進一步了解 Resque 和 Redis,可以參閱官方文件。