【问题标题】:Redis setbit multiple bits at a timeRedis一次设置多个位
【发布时间】:2016-08-14 07:38:50
【问题描述】:

我是 redis 的新手,所以我对 setbit 函数有很多疑问。

我有以下类型的数据集:

{'items':[{'item_1':0001...1000,
           ...
           'item_n':0011...0011}
         ]
}

在每个项目中都有数十万个比特,并且有数十万个项目。看来我可以使用以下设置项目:

Redis.setbit('item1', 0, 0)
Redis.setbit('item1', 1, 0)
Redis.setbit('item1', 2, 0)
Redis.setbit('item1', 3, 1)
...
  • 然而,这似乎非常低效。有没有一次设置所有位?
  • 有什么方法可以将它们分组到一个集合或散列中,以便查找当前设置的项目?它们每天都在变化,我需要知道以前写的内容,以便我可以相应地分析和删除它。
  • 如何查看之前写的项目名称?

【问题讨论】:

    标签: redis


    【解决方案1】:
    • 不是和是。 SETBIT(顾名思义)设置一个位。但是,由于 Redis 使用字符串数据类型来存储位,因此您可以在您的应用程序中构造相关的项目字符串,然后一键设置它。有关字符串中位的内部表示的更多信息,请访问Can someone explain redis setbit command?

    • 要跟踪您写入的项目并查找它们,Redis 的集合应该可以很好地完成任务。将您的项目添加到密钥(可能根据日期命名)并使用 SSCAN 获取。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-04-28
      • 2023-04-09
      • 2013-03-16
      • 2016-10-10
      • 1970-01-01
      • 1970-01-01
      • 2012-02-03
      • 1970-01-01
      相关资源
      最近更新 更多