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 一個受歡迎、由社群維護且採用 BSD 授權的 fork。它受到許多知名企業廣泛認可,並且也可在 Stackhero 上使用。
Redis 常被描述為 NoSQL 資料庫,支援多種資料結構,包括 strings、hashes、lists、sets 和 sorted sets。由於它在處理大量資料時速度快且效率高,Redis 是 caching、即時分析、訊息傳遞等用途的熱門選擇。
當您想要提升效能、擴充性和靈活性時,Redis 與 Ruby 和 Ruby on Rails 搭配得非常好。透過 Redis,Ruby 開發者可以加入 caching、session 管理、即時資料處理,以及背景工作處理等功能。
以下是 Redis 與 Ruby 和 Ruby on Rails 搭配使用的一些常見方式:
- Caching: Redis 可以在 Rails 應用程式中作為 cache store,以降低資料庫負載並改善回應時間。
- Background job processing: Redis 常被用作 Sidekiq 和 Resque 等熱門工作處理函式庫的 backend,幫助背景任務更有效率且更可靠地執行。
- Real-time features: Redis Pub/Sub 可讓您建立即時功能,例如通知、聊天系統和即時分析,方法是讓應用程式元件之間能快速傳遞訊息。
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,可以參考官方文件。