Redis延迟键添加

标签 redis

我有 3 个虚拟机 vm1、vm2 和 redis-server 都相互连接。

vm2上的各种进程,调用vm1中的RPC。但是 RPC 的参数存储在 Redis 中。 vm2 将 key 传递给 vm1 的参数。 vm1 获取相应的值(即参数)并执行调用。大多数时候它工作得很好。

但是,有时我看到 vm1 无法获取属于 vm2 发送的键的值。片刻之后,我看到键值已添加到 redis-server。

我查看了 redis 配置文件以确定是否是某些选项导致了此问题。还搜索了一些文档。但是,我不知道为什么会这样。

有人知道为什么会发生这种情况以及解决这个问题的方法吗?

最佳答案

这里没有太多细节,所以这主要是在黑暗中刺伤。但是,我会查看在将数据设置到 redis 服务器时是否使用异步(即非阻塞)调用。通过异步调用,您可以在实际设置 redis-server 中的数据之前将 key 发送到 vm2。

至于如何确定,这取决于您使用哪些库与 Redis 交互。

关于Redis延迟键添加,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7699522/

相关文章:

redis - 尝试安装 PyBOSSA 时出现多个问题

redis - 如何使用错误处理程序重新连接到 StackServices.RedisMqServer 中的重新分发服务器?

redis - 如何在 Redis 队列中查找项目

redis - Mule Redis 连接器配置与其文档不一致

ruby-on-rails - Redis::CannotConnectError(连接到本地主机上的 Redis 时出错:6379(Errno::ECONNREFUSED)):

node.js - Redis 卡在 Get 上

redis - Laravel Redis 连接到 127.0.0.1 时读取错误 :6379

event-handling - 我应该为 Pub 和 Sub 与 Redis 使用单独的连接吗?

django - 如何调整 celery 设置,使 Redis 不使用太多内存? celery 任务 RESULT_EXPIRES?

go - Redigo ScanStruct 错误与 time.Time