【发布时间】:2015-03-07 07:25:38
【问题描述】:
我们的安装存在严重的配置/产品错误。我们一直在遇到与并发相关的错误,我们一直将其归咎于 Jedis 的使用,但似乎这可能是产品/配置问题。
这是一个带有超过 4M 键的单个 redis 安装。每当我们从 redis-cli 运行长时间运行的命令时,例如键 *,我们的客户端代码(基于 Jedis)开始抛出错误,例如尝试将字符串转换为二进制文件(Jedis conf 中的典型并发错误)。最糟糕的情况是,有时它似乎返回了错误的键。我们在每个 actor 实例中都使用了 Jedis 实例,所以这应该不是问题,但我们还是改为了 JedisPool。但问题依然存在(我们使用的是 Jedis 2.6.2)。
但主要是在尝试使用不同的 redis-cli 时。我们运行长时间运行的 KEYS *,然后运行返回的 GET 命令。我们的理解是 KEYS * 应该阻止所有人,但 GET 命令仍然有效。这也发生在 SLEEP 命令中。
这是否与配置设置有关,或者这是不应该发生的事情,或者 KEYS 命令没有阻止并且我的问题出在其他地方?
【问题讨论】:
标签: redis