Redis Rpush未添加特定密钥

Redis Rpush未添加特定密钥,redis,Redis,在我们的部署中,我面临着一个相当奇怪的问题 运行一段时间后 我无法使用RPUSH向Redis添加具有特定键名或列表名的特定列表 示例 RPUSH客户端发送进程服务器名测试 我无法将该密钥添加到Redis数据库 无论如何,执行该命令后的输出 (整数)1 但是我看不到名单 redis-cli keys *client-send* 返回空列表 但是当这个问题出现的时候 我能够成功地执行以下命令 RPUSH客户端发送进程ser测试 及 redis cli密钥*客户端发送* 注意:n aftet客户端发

在我们的部署中,我面临着一个相当奇怪的问题

运行一段时间后 我无法使用RPUSH向Redis添加具有特定键名或列表名的特定列表

示例

RPUSH客户端发送进程服务器名测试

我无法将该密钥添加到Redis数据库

无论如何,执行该命令后的输出 (整数)1 但是我看不到名单

redis-cli keys *client-send*
返回空列表

但是当这个问题出现的时候 我能够成功地执行以下命令

RPUSH客户端发送进程ser测试

redis cli密钥*客户端发送*
注意:n aftet客户端发送字符串前一个ASTRICK 这里没有显示

它正在列出队列

“客户端发送过程服务器”

然而奇怪的是,我无法添加一个带有特定关键字的列表
客户端发送进程servername

是否有进一步调试的想法。。去哪里看,看什么

Redis服务器版本为2.8

我厌倦了在redis中启用调试日志,并尝试使用redis monitor命令


然而,无法找到解释这一问题的相关信息。我渴望找到解决办法。如果有人能帮助我进一步研究,那将是一个很大的帮助。

这个问题似乎是不可复制的。然而,我已经在我的本地pc上测试了它,发现它工作正常。 例如:


如果有任何选择,您可以尝试更新您的redis服务器。当前更新的版本是5.0.7,而您的版本是2.8

谢谢您的回复,很抱歉我不清楚“client send process servername”只是一个示例,实际的密钥名称不同,但是,我已经找到了原因。问题是有几个过时的客户端正在执行命令“BLPOP client send process servername 3600”,其中一个客户端使用密钥。在我手动执行命令LRANGE/keys命令之前,基本上我认为我已经停止了所有使用Redis队列的进程,但是经过分析,即使我停止了使用这些队列的进程,我仍然有过时的客户端在执行BLPOP命令。这意味着,杀死这些客户端,当我执行测试时,我能找回钥匙。。。。。然而,客户端不断堆积,需要进行调查,这意味着,随着时间的推移,不再是一个客户端监听BLPOP Client send process servername 3600,而是有多个客户端在执行同一命令时堆积起来,需要检查原因并进一步调查。此外,我尝试更新到5.0.7,出现了同样的问题
➜  ~ redis-cli     
127.0.0.1:6379> RPUSH client-send-process-servername TEST
(integer) 1
127.0.0.1:6379> keys *client-send*
1) "client-send-process-servername"
127.0.0.1:6379> keys client-send*
1) "client-send-process-servername"
127.0.0.1:6379> RPUSH client-send-process-ser TEST
(integer) 1
127.0.0.1:6379> keys client-send*
1) "client-send-process-ser"
2) "client-send-process-servername"
127.0.0.1:6379>