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

首先,您可以使用以下指令安裝 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_URL 環境變數中定義的 Redis server。

您可以像這樣使用自己的連線資訊來設定 REDIS_URL

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

如需更多關於搭配 Redis 使用 Sidekiq 的詳細資訊,您可以參考 Sidekiq 官方文件

和 Sidekiq 一樣,Resque 會使用 REDIS_URL 環境變數中定義的 Redis server。

您可以像這樣使用自己的資訊來設定 REDIS_URL

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

如需更多關於搭配 Redis 使用 Resque 的資訊,您可以參考 Resque 官方文件

如果您想將 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 instance 安全非常重要,而幾個簡單的措施就能帶來很大的差異。

預設情況下,Redis 不會加密網路流量。在 Stackhero 上,TLS 加密預設已啟用。

為了利用這項功能,您可以將 Redis client 設定為使用 TLS,並透過 <PORT_TLS> 連接埠進行連線。建議僅在特定情況下、且未加密流量確實合適時才使用 <PORT_CLEAR>,而 <PORT_TLS> 則可提供加密通訊。

好消息是,伺服器端不需要額外設定任何內容。這部分我們已經替您處理好了。

您的 Redis instance 受到密碼保護,而 Stackhero 預設會自動產生一組高強度密碼。如果您決定變更它,建議選擇非常長且複雜的密碼。

Redis 速度極快,能處理非常大量的驗證嘗試。實務上,這表示攻擊者理論上每秒最多可能嘗試 150,000 種密碼組合。

為了加強保護,我們強制要求密碼最少長度為 16 個字元,這大約代表 4.5231285e+74 種可能組合。Stackhero 預設使用 64 個字元的密碼,約代表 9.61963e+111 種可能組合。

若要進一步提升保護,您也可以在 Firewall 分頁中設定 Stackhero firewall 規則,只允許來自您自己 IP 位址的連線。這是改善整體安全態勢最有效的方法之一。