Redis lindex 有效但 lpop 无效

标签 redis jedis

我看到了这种奇怪的行为。我对一个键执行 lpush 操作。有一个不同的服务可以监听键通知并尝试lpop 值。但奇怪的是它返回空值。如果我用 0 作为索引执行 lindex,我会得到值。所以,我肯定知道这个值是可用的。我可以使用 redis-cli 看到这一点。但是 lpop 没有返回值。

我使用 redis 2.8.13 和 Jedis Java 框架。有人可以帮忙吗?

最佳答案

要调试此尝试使用 redis MONITOR命令(例如通过在 redis 主机的 shell 中运行 redis-cli monitor)来查看:

  • 真正发送到您的 redis 的命令是什么,
  • 什么时候
  • 以及由哪个客户。

如果没有看到代码是不可能的,但我认为您使用 Jedis 的代码发送的命令与您认为发送的命令不完全一致。

关于Redis lindex 有效但 lpop 无效,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28666344/

相关文章:

redis - 使用 jedis 在 ubuntu 上设置 redis 集群

java - 使用 Spring Data Redis 在 Redis 中执行 SCAN 操作时出现 ERR 语法错误

Storm 拓扑上的 Redis 错误

Redis 缓存服务器 - 多网站环境

redis - 如何在 Redis 中启用 ACL 功能

redis - 在redis集群模式下,我们加载脚本时返回的SHA值是否相同?

java - apache在创建JedisConfig对象时在运行时公共(public)ClassNotFoundException

mongodb - Linux透明大页(THP)性能评估

go - 从 redis 中获取所有 key

java - Jedis(Java Redis) 如何连接两个或多个订阅者?