我在 Redis 中使用排序集数据类型。我用 command 添加数据zadd
。添加数据是JSON格式。
如何按分数更改此排序集中的值?我需要获取 JSON 值并更改一个字段,然后更新此排序集。
我试图添加具有相同分数的agag数据,但我得到了重复
我在 Redis 中使用排序集数据类型。我用 command 添加数据zadd
。添加数据是JSON格式。
如何按分数更改此排序集中的值?我需要获取 JSON 值并更改一个字段,然后更新此排序集。
我试图添加具有相同分数的agag数据,但我得到了重复
这很简单!
ZREM key data;
ZADD key score newdata;
您根本无法更新 SET 结构中的元素。根据定义,这是不可能的!就像我不能吃一杯水,我只能喝它^_^
如果您有任何进一步的问题,请回复。
顺便说一句,我不知道您的应用程序需要,但我有一种强烈的感觉 SORTED SET 不适合您的应用程序场景。
一个不会更新集合的(排序的或未排序的)成员。您必须删除旧成员并在其位置添加新的(更新的 JSON)和相关分数。您可以将其包装在 Lua 或 WATCH/MULTI/EXEC 块中以实现原子性。
如果您将列表用作键(分数)=> 值存储,则可以先按分数删除。
ZREMRANGEBYSCORE key score score
ZADD key score data