はじめに
最近、お客様の 1 人が、30 のストアを持つ実稼働マルチストアで redis-cache に問題が発生しました。彼の Redis はときどき利用できなくなりました。監視を開始したところ、データベース内に期限切れの Redis キーが多すぎることがわかりました。出力例:
> info keyspace # Keyspace db0:keys=45775,expires=41711,avg_ttl=79567831
可能な修正
システム サーバーの停止を防ぐために考えられる方法は、Redis のメモリ消費量にハード リミットを設定することでした。 Redis のメモリ制限に依存すると、パフォーマンスにある程度の影響があり、クリアする必要のないものが常に存在し、その逆もあります。そのため、適切な TTL を設定して、アプリケーションでこれを処理する必要があります。
composer.json を更新して redis-cache を最新バージョンにアップグレードすると、次の問題が修正されました
"colinmollenhour/cache-backend-redis": "1.11.0 as 1.10.6"
完全な修正
また、この問題の修正は Magento 2.3.4 でリリースされる予定です。リンク:https://github.com/magento/magento2/pull/25488
結論
この種のバグを防ぐために、常に最新のソフトウェア リリースを使用してください。特に、Magento など。