Redis®*: 快速開始
Redis 快速入門指南
👋 歡迎來到 Stackhero 文件!
Stackhero 提供即用型的 Redis cloud 解決方案,帶來多項優勢,包括:
- 包含
Redis Commander網頁介面。- 無限制的訊息大小和傳輸。
- 只需點擊即可輕鬆完成 更新。
- 由 專用私有 VM 提供的最佳 效能和強大 安全性。
節省時間並簡化您的生活:只需 5 分鐘即可嘗試 Stackhero 的 Redis cloud hosting 解決方案!
Redis 是一個功能強大且速度極快的記憶體內資料庫,可以扮演多種角色。您可以將它用作快取、鍵值儲存、即時資料結構引擎,或發布/訂閱與事件系統。
Redis 再次成為 open source:自 Redis 8(2025 年 5 月)起,它採用 GNU AGPLv3 授權。 如果您偏好採用寬鬆授權(BSD)的 drop-in 替代方案,社群驅動的分支 Valkey 也可在 Stackhero 上使用。
為了協助您快速上手,我們分享了一些程式碼範例,示範如何連線到 Redis instance。您可以在這個 GitHub repository 中找到它們:https://github.com/stackhero-io/redisGettingStarted。
在 Ruby 與 Ruby on Rails 中使用 Redis
將 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 環境變數。以下是一個可依您的實際資訊調整的範本:
REDIS_URL="rediss://default:<yourPassword>@<XXXXXX>.stackhero-network.com:<PORT_TLS>"
預設情況下,快取只會在 production 環境中啟用。如果您想在開發期間測試快取,也可以更新
config/environments/development.rb。加入與上方相同的設定,並包含config.action_controller.perform_caching = true來啟用快取。確認快取是否正常運作的一個簡單方式,是使用bin/rails console啟動 Rails console,然後嘗試執行Rails.cache.write("foo", "bar")。
如需更多關於在 Ruby on Rails 中將 Redis 作為 cache store 使用的詳細資訊,您可以參考 Rails 官方文件。
為 Sidekiq 設定 Redis
Sidekiq 會自動使用 REDIS_URL 環境變數中定義的 Redis server。
您可以像這樣使用自己的連線資訊來設定 REDIS_URL:
REDIS_URL="rediss://default:<yourPassword>@<XXXXXX>.stackhero-network.com:<PORT_TLS>"
如需更多關於搭配 Redis 使用 Sidekiq 的詳細資訊,您可以參考 Sidekiq 官方文件。
為 Resque 設定 Redis
和 Sidekiq 一樣,Resque 會使用 REDIS_URL 環境變數中定義的 Redis server。
您可以像這樣使用自己的資訊來設定 REDIS_URL:
REDIS_URL="rediss://default:<yourPassword>@<XXXXXX>.stackhero-network.com:<PORT_TLS>"
如需更多關於搭配 Redis 使用 Resque 的資訊,您可以參考 Resque 官方文件。
使用 Redis 管理 PHP sessions
如果您想將 PHP sessions 儲存在 Stackhero for Redis 上,可以使用以下範例:
<?php
// 解析 Redis URL
$redis_url = parse_url("rediss://default:<yourPassword>@<XXXXXX>.stackhero-network.com:<PORT_TLS>")
// 設定 session handler
ini_set("session.save_handler", "redis")
ini_set("session.save_path", "tls://{$redis_url["host"]}:{$redis_url["port"]}?auth={$redis_url["pass"]}&timeout=5")
// 啟動 session
session_start()
?>
強化 Redis 安全性
確保您的 Redis instance 安全非常重要,而幾個簡單的措施就能帶來很大的差異。
使用 Redis 加密通訊(TLS)
預設情況下,Redis 不會加密網路流量。在 Stackhero 上,TLS 加密預設已啟用。
為了利用這項功能,您可以將 Redis client 設定為使用 TLS,並透過 <PORT_TLS> 連接埠進行連線。建議僅在特定情況下、且未加密流量確實合適時才使用 <PORT_CLEAR>,而 <PORT_TLS> 則可提供加密通訊。
好消息是,伺服器端不需要額外設定任何內容。這部分我們已經替您處理好了。
保護 Redis 免受暴力破解攻擊
您的 Redis instance 受到密碼保護,而 Stackhero 預設會自動產生一組高強度密碼。如果您決定變更它,建議選擇非常長且複雜的密碼。
Redis 速度極快,能處理非常大量的驗證嘗試。實務上,這表示攻擊者理論上每秒最多可能嘗試 150,000 種密碼組合。
為了加強保護,我們強制要求密碼最少長度為 16 個字元,這大約代表 4.5231285e+74 種可能組合。Stackhero 預設使用 64 個字元的密碼,約代表 9.61963e+111 種可能組合。
若要進一步提升保護,您也可以在 Firewall 分頁中設定 Stackhero firewall 規則,只允許來自您自己 IP 位址的連線。這是改善整體安全態勢最有效的方法之一。