【发布时间】:2015-08-27 16:51:01
【问题描述】:
我有大量存储在 Redis 排序集中(大约 100,000 个)的项目,这些项目相当频繁地更新。这些项目是编码为 JSON 字符串的对象,集合中的排序排名是从对象的日期/时间属性派生的(在插入时,由我的代码)。
集合中的每个项目都有一个 Id 属性(它是一个编码为字符串的 Guid),它唯一地标识系统中的项目。
更新这些项目时,我需要更新排序集中的项目,或者删除并重新插入该项目。我遇到的问题是如何找到该项目来执行操作。
我目前正在做的是将排序集的全部内容加载到内存中,在我的代码中对该集合进行操作,然后将完整的集合写回 Redis。虽然这很有效,但它并不是特别有效,并且如果列表开始变得非常大,则无法很好地扩展。
有人对如何以更有效的方式执行此操作有任何建议吗?我拥有的项目唯一唯一标识符是项目中编码的 Id 属性。
非常感谢,
理查德。
【问题讨论】: