什么可能会删除Redis的密钥?

时间:2015-08-17 22:47:06

标签: redis

我们的服务器上有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的密钥上设置了超时。但也许有些东西会设置默认超时?

我该如何调试?我在哪里看?

1 个答案:

答案 0 :(得分:2)

请查看Redis配置:

TaskScheduler timer = new TaskScheduler();
        timer.scheduleAtFixedRate(new Runnable() {
            @Override
            public void run() {
                time.setText(simpleDateFormat.format(GamePlay.instance().getLevelTime()));
            }
        },1000);

确保maxmemory对于您的数据集足够大,否则将使用specified maxmemory-policy自动删除键。