Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/redis/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Redis复制而非RO从机_Redis_Replication - Fatal编程技术网

Redis复制而非RO从机

Redis复制而非RO从机,redis,replication,Redis,Replication,你好! 假设我们有一个redis主机和几个奴隶。主目标是存储所有数据,而从属对象用于为用户查询数据。howewer查询有点复杂,需要存储一些临时数据。我还想将查询结果缓存几分钟 我应该如何配置复制以保存临时数据和缓存?Redis从机具有接受写操作的可选支持,但是在使用它们之前,您必须了解可写从机的一些限制,因为它们有很多问题 在从属服务器上创建的密钥将不支持过期。实际上,在Redis的最新版本中,它们似乎可以工作,但实际上是泄漏的,而不是过期的,直到下一次您从头开始重新将从机与主机同步或发布FL

你好! 假设我们有一个redis主机和几个奴隶。主目标是存储所有数据,而从属对象用于为用户查询数据。howewer查询有点复杂,需要存储一些临时数据。我还想将查询结果缓存几分钟


我应该如何配置复制以保存临时数据和缓存?

Redis从机具有接受写操作的可选支持,但是在使用它们之前,您必须了解可写从机的一些限制,因为它们有很多问题

在从属服务器上创建的密钥将不支持过期。实际上,在Redis的最新版本中,它们似乎可以工作,但实际上是泄漏的,而不是过期的,直到下一次您从头开始重新将从机与主机同步或发布FLUSHALL或类似的版本。这个问题有着深刻的原因。。。目前还不清楚我们是否会反对可写从机、找到解决方案或拒绝可写从机的过期。 无论如何,您可能希望使用不同的Redis numerical DB SELECT命令来存储中间数据。您可以使用MULTI/../MOVE/EXEC transaction来在数据所属的当前选定数据库中生成中间结果,并将关键帧移到其他某个数据库,因此,如果密钥正在累积,您可以不时刷新数据库,这一点就很清楚了。 您在从属设备上创建的密钥是不稳定的,它们可能会在主设备与从属设备重新同步时消失。对您来说似乎不是问题,因为如果它们的密钥不再存在,您可以重新计算,但应小心, 如果你把这个从机选为主机,你会有额外的钥匙在里面。 因此,在这个设置中肯定要考虑一些事情,但是在某些方面是可行的。然而,您可能需要考虑替代策略。

从机端的Lua脚本,用于过滤Lua中的数据。没有redisc命令通常那么快。 直接在实际数据集中预计算数据,以便仅使用只读命令即可进行查询。 为了将感兴趣的密钥从一个从机迁移到另一个专门设计用于执行后期计算的主机实例。 如果没有对实际用例/问题的深入分析,很难说什么是最好的策略,但是我希望这个一般性的指导方针能有所帮助