redis set成员更新的高效方式

İlk*_*kut 2 java redis node.js node-redis

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

我知道有一个ZADD带有分数支持的排序集,它似乎也合适,我也需要更新像 json 中的数据这样的分数,但我只是想知道是否有任何方法以有效的方式更新成员,或者在 redis 方式上更新成员不可接受?

注意:Redis 数据存储由 Node.js 和 Java 客户端使用。

Ita*_*ber 6

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

鉴于集合是唯一成员的无序集合,请考虑当成员的新值为时集合成员理论上可修改的可能结果:

  1. 与旧值相同 - 集合没有变化
  2. 集合中已存在 - 相当于删除该成员
  3. 不是 1 或 2 - 相当于删除成员并添加新成员