Redis(Memorystore) 清除密钥

问题描述

我正在使用 express-sessions 和 Redis(Memorystore) 5.0 来保存会话,而且 Redis 似乎在键上的 TTL 用完之前清除所有键(随机而不是每隔一段时间)。只留下几个备份条目

here is a screenshot

从 TTL 来看,此条目的有效期应为一周。

我之前从未配置过 Redis 实例,很可能是我配置错误,请提供一些见解。

另外,这是我运行监视器时得到的

enter image description here

解决方法

避免通过 Compute Engine 的外部 IP 公开您的 Memorystore 实例。结合事实, Memorystore 实例目前需要 no authentication,这将导致一个漏洞 将允许任何人在您的实例上读取、编写和执行脚本。在最坏的情况下,它会允许某人使用您的实例挖掘加密货币,从而导致您的项目或帐户不幸被暂停。

在线有多个指南可以远程连接到 Memorystore。我建议按照以下线程通过 SSH 连接:Accessing GCP Memorystore from local machines

作为参考,我将在这里粘贴答案(感谢发布它的人):

“如果您的 Redis 机器具有内部 IP 地址 10.0.0.3,您会这样做:

gcloud compute instances create redis-forwarder --machine-type=f1-micro
gcloud compute ssh redis-forwarder -- -N -L 6379:10.0.0.3:6379

只要保持 ssh 隧道打开,您就可以连接到 localhost:6379"