【问题标题】:Atomic Redis Operations with JSON使用 JSON 的原子 Redis 操作
【发布时间】:2021-05-09 07:43:03
【问题描述】:

我想在 Redis 中存储一个相当复杂的 JSON 对象,但我看不到如何使事务原子化,因为我必须获取、编辑然后设置。在进行编辑时,可能会在其他地方调用另一个 get,这最终会覆盖我的数据。

我查看了 Pipelines,但它们似乎没有用,因为命令同时执行?无法在设置之前解析/编辑?

我也找不到在此过程中锁定文档/哈希的方法。

【问题讨论】:

  • 您能详细说明一下吗?

标签: python node.js database redis


【解决方案1】:

这里有三个选项:

  1. 使用 Redis Transactions:
WATCH mykey
GET mykey
// change the JSON
MULTI
SET mykey
EXEC
  1. 使用Lua Script:

  2. 使用 Redis 模块 RedisJSON,它支持以下原子命令:

JSON.ARRINSERT & JSON.NUMINCRBY

【讨论】:

  • 谢谢,我选择了 RedisJSON,它非常适合我的需求。
猜你喜欢
  • 2017-09-01
  • 1970-01-01
  • 2019-06-27
  • 1970-01-01
  • 1970-01-01
  • 2012-10-03
  • 1970-01-01
  • 2017-11-25
  • 1970-01-01
相关资源
最近更新 更多