設定Redis服務
Redis是選用的後端快取解決方案,可取代Adobe Commerce預設使用的Zend Framework Zend_Cache_Backend_File。
使用下列指示在Pro整合環境與入門環境(包括master分支)上進行服務設定。
啟用Redis
若要啟用Redis,請更新下列檔案:
.magento/services.yaml.magento.app.yaml
設定服務
在.magento/services.yaml中,新增Redis服務定義。 以您的Adobe Commerce版本和目前的雲端範本支援的Redis版本取代<version>。
cache:
type: redis:<version>
例如,對於支援Redis 7.2的Commerce版本和雲端範本:
cache:
type: redis:7.2
範例版本並非通用。 實際的預設和支援服務版本取決於您的Adobe Commerce版本、修補程式層級和目前的雲端範本。 驗證系統需求中支援的組合以及目前的專案範本。
設定服務關係
在.magento.app.yaml中,設定應用程式與Redis服務之間的關係:
runtime:
extensions:
- redis
relationships:
redis: "cache:redis"
關聯性索引鍵redis是應用程式用來存取服務的名稱。 值cache:redis包含在.magento/services.yaml中定義的服務識別碼(cache)和服務型別(redis)。
認可並部署變更
新增、認可及推送設定變更:
git add .magento/services.yaml .magento.app.yaml
git commit -m "Enable Redis service"
git push origin <branch-name>
部署完成後,請確認Redis服務關係可用。
驗證服務關係
部署組態之後,從應用程式容器執行下列命令,以顯示已解碼的MAGENTO_CLOUD_RELATIONSHIPS物件:
使用SSH連線到遠端雲端環境,然後執行:
echo "$MAGENTO_CLOUD_RELATIONSHIPS" | base64 -d | json_pp
命令會顯示所有已設定的服務關係。 找出redis關聯以識別Redis連線詳細資料。
下列縮寫範例顯示redis關係。 這不是通用結構描述。
{
"database" : [
{
"host" : "database.internal",
"port" : 3306,
"path" : "main",
"scheme" : "mysql"
}
],
"opensearch" : [
{
"host" : "opensearch.internal",
"port" : 9200,
"path" : null,
"scheme" : "http"
}
],
"redis" : [
{
"host" : "redis.internal",
"port" : 6379,
"path" : null,
"scheme" : "redis"
}
]
}
輸出會因環境和服務設定而異。 請勿在此範例中硬式編碼主機名稱、連線埠、IP位址、叢集名稱、服務版本、使用者名稱或密碼。 在目標環境中使用MAGENTO_CLOUD_RELATIONSHIPS傳回的值。
如果jq可用,請使用以下命令以僅顯示Redis關係:
printf '%s' "$MAGENTO_CLOUD_RELATIONSHIPS" \
| base64 -d \
| jq '{redis: .redis}'
如需有關服務關係的詳細資訊,請參閱設定服務。
自訂Redis設定
如需快取、工作階段、L2和復本連線建議,請參閱 實作Playbook最佳作法指南 中的Valkey和Redis服務組態的最佳作法。
使用Redis CLI
假設您的Redis關係名稱為redis,請使用MAGENTO_CLOUD_RELATIONSHIPS傳回的主機與連線埠連線到Redis。
在安裝及設定Redis的情況下連線到環境,然後執行以下命令:
redis-cli -h <host> -p <port>
範例
redis-cli -h redis.internal -p 6379
取得已安裝的Redis版本
在整合環境中,使用redis關聯性傳回的主機與連線埠來執行:
| code language-terminal |
|---|
|
範例回應
| code language-text |
|---|
|
版本和組建詳細資料會因環境而異。 請勿將顯示的範例版本視為必要或通用服務版本。
在Pro測試和生產環境中,執行:
| code language-terminal |
|---|
|
範例回應
| code language-text |
|---|
|
版本和組建詳細資料會因環境而異。 請勿將顯示的範例版本視為必要或通用服務版本。
疑難排解Redis
請參閱下列Adobe Commerce支援文章,以取得疑難排解Redis問題的說明:
快取清除錯誤參考Valkey設定的快取上的Redis
預先部署快取清除失敗會顯示錯誤代碼[107] (clean-redis-cache)和Connection to Redis訊息,即使cache服務設定為Valkey亦然。 ece-tools將這個舊版Redis導向的錯誤碼和訊息用於快取清除步驟,無論哪個服務支援cache關係,因此措辭不會表示已安裝Redis。
如果基礎錯誤是DNS失敗(例如關聯性主機的Name or service not known),則部署步驟會在服務關聯性可用之前執行,或.magento.app.yaml中的關聯性名稱與.magento/services.yaml中的服務識別碼不符。 請參閱驗證服務關係。