我们的服务器上有 3 个应用程序。他们通过 Redis 相互交谈。 Redis 是所有通信的总线。
我们服务器上的某些东西错误地从 Redis 中删除了键。我正在尝试找出问题所在。对于每个应用程序,我都将代码下载到我的机器上,然后尝试:
grep -iR "flush" *
grep -iR "del" *
其中两个应用程序没有“flush”和“del”。只有一个应用程序有“del”。所以我找到了它的 PID 和:
kill -9 2312
我还执行了“ps aux”以确保该应用已关闭。
其他 2 个应用只有:
hset
hget
hmgetall
Redis 中键的消失是不稳定的。有些按键会持续几分钟,甚至几小时。其他人迅速消失。
据我所知,没有开发人员在 Redis 中为键设置超时。但也许有些东西设置了默认超时?
我该如何调试它?我看哪里?
最佳答案
请看一下 Redis 配置:
config get maxmemory*
请确保 maxmemory 对您的数据集足够大,否则 key 将自动与 specified maxmemory-policy 一起删除.
关于redis - 什么可能会从 Redis 中删除键?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32060910/