Valkey: 入門指南

快速指南,開始使用 Valkey

👋 歡迎來到 Stackhero 文件!

Stackhero 提供即用型的 Valkey cloud 解決方案,帶來多項好處,包括:

  • 包含 Redis Commander 網頁介面
  • 無限制的訊息大小和傳輸。
  • 只需一鍵即可輕鬆完成 更新
  • 專用私有 VM 提供的最佳 效能和強大 安全性

節省時間簡化您的生活:只需 5 分鐘即可嘗試 Stackhero 的 Valkey cloud hosting 解決方案!

Valkey 是一個強大且極速的內存數據庫,基於 Redis。隨著 Redis 轉向非開源模式,Valkey 從社群和多家公司中誕生,成為一個強大的開源替代方案。它無縫整合 Redis 庫,是理想的替代品。

Valkey 多功能,可用於多種用途:它可以作為緩存系統、鍵值數據庫、促進實時數據排序,或作為類似事件系統的發布/訂閱隊列。

為了協助您連接到 Valkey 實例,我們準備了一些代碼範例。您可以在以下 Git 儲存庫中探索:https://github.com/stackhero-io/valkeyGettingStarted

要開始,您可以使用以下命令安裝 redis gem:

bundle add redis

接下來,打開 config/environments/production.rb 文件,並加入這行:

config.cache_store = :redis_cache_store, { url: ENV["VALKEY_URL"] }

然後,您需要設置 VALKEY_URL 環境變量。以下是如何使用您的信息格式化 URL 的範例:

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

默認情況下,緩存僅在生產環境中啟用。如果您希望在開發中測試緩存,請修改 config/environments/development.rb 文件,添加上述配置,並設置 config.action_controller.perform_caching = true 以啟用緩存。驗證緩存是否有效的一個好方法是啟動 Rails 控制台(使用 bin/rails console)並使用 Rails.cache.write("foo", "bar") 測試寫入。

有關將 Valkey 配置為 Ruby on Rails 緩存系統的更多詳細信息,您可以查閱官方 Rails 文檔

Sidekiq 將自動使用在 REDIS_URL 環境變量中配置的 Valkey 服務器。

您可以使用以下方式設置 REDIS_URL 環境變量:

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

有關使用 Sidekiq 與 Valkey 的更多信息,您可以查閱官方文檔

Resque 將自動使用在 REDIS_URL 環境變量中定義的 Valkey 服務器。

您可以使用以下方式設置 REDIS_URL 環境變量:

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

有關使用 Resque 與 Valkey 的更多信息,您可以查閱官方文檔

您可以使用以下代碼在 Stackhero 上存儲 PHP 會話:

<?php

// 解析 Valkey URL
$valkey_url = parse_url('rediss://default:<yourPassword>@<XXXXXX>.stackhero-network.com:<PORT_TLS>');

// 配置會話處理器
ini_set('session.save_handler', 'redis');
ini_set('session.save_path', "tls://{$valkey_url['host']}:{$valkey_url['port']}?auth={$valkey_url['pass']}&timeout=5");

// 開始會話
session_start();

?>

增強 Valkey 設置的安全性至關重要。以下是您可以實施的兩個重要措施,以最大化安全性。

默認情況下,Valkey 不加密通信。然而,在 Stackhero 上,TLS 加密是預設提供的。

要利用此功能,只需配置您的 Valkey 客戶端以使用 TLS 加密,並使用 <PORT_TLS> 端口連接到您的實例,而不是未加密的 <PORT_CLEAR>

好消息是,您不需要擔心額外的設置,我們已為您準備好一切。

您的 Valkey 實例由 Stackhero 自動預設的強密碼保護。如果您決定更改它,請確保密碼極其複雜。

Valkey 速度快,但不幸的是,缺乏內置的暴力攻擊保護。攻擊者可能每秒嘗試多達 150,000 種密碼組合。

為了減輕這一點,密碼必須至少有 16 個字符(4.5231285e+74 種可能性),默認情況下,我們設置 64 個字符的密碼(9.61963e+111 種可能性!)。

為了增強安全性並有效阻止暴力攻擊,建議配置 Stackhero 的防火牆(可在 "Firewall" 標籤中訪問)以限制僅您的 IP 地址的連接。這是增強安全性的一個關鍵步驟!