gpt4 book ai didi

transactions - Redis原子事务通过交集搜索并使用返回的数据进行更新

转载 作者:可可西里 更新时间:2023-11-01 11:21:44 27 4
gpt4 key购买 nike

Redis专家,我想通过某种类型的资源搜索空闲数据,然后将其标记为非空闲,所有这些都在一个命令中(原子)。

我正在使用 Redis 来记录不同类型的事件资源。我应该如何解决我的这个问题,我需要通过查询一些字段值来获取哈希数据,我已经创建了自己的集合并使用 sinter 然后更新它以将其标记为正在使用。这是引用如何使用 set http://robots.thoughtbot.com/redis-set-intersection-using-sets-to-filter-data 在 redis 中进行过滤

假设我想找到一个类型为 X 且属性为 A 的空闲资源的 ID,我通过在 type 集和 attribute A 上使用 intersect 来查询它。使用命令 SINTER S:type:X S:attribute:A S:active:false。假设它返回资源 #400 的 ID,我想使用这个数字来 hgetall 并更新它以便 active 变为 true,(HGETALL S:resource:400)。

我需要它是原子的。现在我仍在尝试在 multi/exec 中执行此操作。如果有更简单的方法,请指教。

最佳答案

使用 LUA 脚本。它是 Redis 使用的一种脚本语言。您可以将脚本加载到 Redis 中,它会自动执行脚本。查找redis的EVAL、SCRIPT LOAD、EVALSHA命令,google搜索“lua script redis”。

关于transactions - Redis原子事务通过交集搜索并使用返回的数据进行更新,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26922839/

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