redis 集合成员更新的高效方式

Efficient way redis set member update

我有一套redis。此集合最多可存储 20 个成员(使用 SADD 命令添加)。 我的问题是;我需要在需要时更新该成员。每个会员最多需要修改 10 次。集合成员是 json 作为字符串。我脑子里只有解决方案,也没有让所有成员更新并重新创建该集。但这似乎很愚蠢。

我知道有 ZADD 排序集,它的分数支持似乎也合适方式,或者更新成员在 Redis 方式上不可接受?

注意:node.js 和 java 客户端都在使用 Redis 数据存储。

集合成员本身是不可变的 - 您可以添加新成员或删除现有成员。就是这样。

鉴于集合是唯一成员的无序集合,当成员的新值:

时,考虑集合成员理论上可修改的可能结果:
  1. 与旧值相同 - 集合没有变化
  2. 集合中已存在 - 相当于删除该成员
  3. 不是 1 或 2 - 相当于删除成员并添加新成员