【问题标题】:Best way to delete members of one set from multiple other sets从多个其他集合中删除一组成员的最佳方法
【发布时间】:2012-05-12 21:26:37
【问题描述】:

假设我有一个拥有 50 000 名成员的社区。 因此,有一个名为 community_###_members 的 Redis 集,有 50 000 个用户的 sha1 密钥,对于每个用户,他自己的集 user_###_communities 存在,上面有社区的 sha1 哈希

有一段时间我决定删除社区..杀死所有成员的最佳算法是什么?

谢谢。

【问题讨论】:

    标签: redis high-load


    【解决方案1】:

    假设你真的想删除一个不存在的社区的成员,它类似于(python 代码示例):

    memebrs = redis.smembers('community_members')
    pipe = redis.pipeline()
    pipe.delete('community_memebrs')
    for member in members:
       pipe.delete(member)
    pipe.execute()
    

    如果社区非常大,您可能希望一次执行 N 个成员,因此服务器不会在您完成所有任务之前停止。

    【讨论】:

      猜你喜欢
      • 2010-09-17
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-05-10
      • 2016-05-22
      相关资源
      最近更新 更多