redis 集合成员更新的高效方式
Efficient way redis set member update
我有一套redis。此集合最多可存储 20 个成员(使用 SADD
命令添加)。
我的问题是;我需要在需要时更新该成员。每个会员最多需要修改 10 次。集合成员是 json 作为字符串。我脑子里只有解决方案,也没有让所有成员更新并重新创建该集。但这似乎很愚蠢。
我知道有 ZADD
排序集,它的分数支持似乎也合适方式,或者更新成员在 Redis 方式上不可接受?
注意:node.js 和 java 客户端都在使用 Redis 数据存储。
集合成员本身是不可变的 - 您可以添加新成员或删除现有成员。就是这样。
鉴于集合是唯一成员的无序集合,当成员的新值:
时,考虑集合成员理论上可修改的可能结果:
- 与旧值相同 - 集合没有变化
- 集合中已存在 - 相当于删除该成员
- 不是 1 或 2 - 相当于删除成员并添加新成员
我有一套redis。此集合最多可存储 20 个成员(使用 SADD
命令添加)。
我的问题是;我需要在需要时更新该成员。每个会员最多需要修改 10 次。集合成员是 json 作为字符串。我脑子里只有解决方案,也没有让所有成员更新并重新创建该集。但这似乎很愚蠢。
我知道有 ZADD
排序集,它的分数支持似乎也合适方式,或者更新成员在 Redis 方式上不可接受?
注意:node.js 和 java 客户端都在使用 Redis 数据存储。
集合成员本身是不可变的 - 您可以添加新成员或删除现有成员。就是这样。
鉴于集合是唯一成员的无序集合,当成员的新值:
时,考虑集合成员理论上可修改的可能结果:- 与旧值相同 - 集合没有变化
- 集合中已存在 - 相当于删除该成员
- 不是 1 或 2 - 相当于删除成员并添加新成员