gpt4 book ai didi

redis - 如何在Redis中更新依赖键值?

转载 作者:行者123 更新时间:2023-12-03 06:42:39 26 4
gpt4 key购买 nike

我想知道是否存在一种推荐的机制,以根据一个或多个键的值更改一个或多个键的值。

这有点像属性,或者是getter和setter,但是对于redis键。

为什么需要这个?

假设我可能有多个(在我的情况下为10-100个)客户端,每个客户端都需要知道dep1值,它是indep1,...,indepN的(纯)函数。一种方法是让所有客户端监视indep1,...,indepN的更改,并计算dep1的值。在我看来,这似乎可以重复工作,并增加网络流量。但是,如果dep1是“自动”更新的,则它们都只需要侦听对dep1的更改。

当前思想

我能想到的唯一解决方案是拥有一个监视客户端,即可完成这项工作。但是,我想知道是否有更好的方法。也许和Lua在一起。顺便说一下,我是一个完整的Redis和Lua noob。

最佳答案

使用Lua似乎是一个不错的主意。您可以使用Lua脚本来更新indep1 ... indepN中的任何一个,并且这些脚本可以在单个事务中自动计算dep1并在数据库中设置其值(在处理任何其他命令之前,Lua脚本运行完成)。这样就可以保证dep1的读取是正确的,因为它会与indepX中的任何一个一起原子更新。然后,您只需要在客户端中的dep1上监视键空间更改。

注意:这可能不是执行此操作的最有效方法,因为确定dep1的计算可能会很昂贵,并且在indepX之一更新时都会重复进行。

关于redis - 如何在Redis中更新依赖键值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60616742/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com