【问题标题】:Redis value updateRedis 值更新
【发布时间】:2012-05-24 06:05:53
【问题描述】:

我目前有一个 redis 数据集,其中键表示 ids 和值作为 json 。我需要在 json 中为每个用户标识(键)添加一个新实体。有没有现成的开源工具?我应该如何继续更新 1M 键数据。

【问题讨论】:

    标签: redis


    【解决方案1】:

    有几种可能:

    1. 这是一些使用 Redis 2.6 Lua 脚本执行此操作的伪代码。

      for userid in users:
          EVAL 'local obj = cjson.decode(redis.call("GET", KEY[1])); obj.subobj.newjsonkey = ARGV[1]; redis.call("SET", KEY[1], cjson.encode(obj));' 1 userid "new value!"
      
    2. 除此之外,您可能需要停止服务并使用 GET 和 SET 执行此操作,因为您可能没有适当的锁定机制。如果您可以强制执行锁定,请参阅http://redis.io/commands/setnx

    3. 有一些用于更新 rdb 的工具。 https://github.com/sripathikrishnan/redis-rdb-toolshttps://github.com/nrk/redis-rdb

    请注意,此答案已根据我的答案改编:Working with nested objects in Redis?

    【讨论】:

      猜你喜欢
      • 2013-02-05
      • 1970-01-01
      • 1970-01-01
      • 2015-10-02
      • 2020-12-12
      • 2020-06-22
      • 1970-01-01
      • 2018-10-12
      • 1970-01-01
      相关资源
      最近更新 更多