我在Redis中使用排序集数据类型。我使用命令zadd添加数据。添加数据是JSON格式。
如何在这个按分数排序的集合中更改值?我需要获得JSON值并更改一个字段,并在更新此排序集之后。
我试着用同样的分数添加一些数据,但是我得到了双重数据。
发布于 2015-09-24 07:43:37
很简单!
ZREM key data;
ZADD key score newdata;您根本无法更新SET结构中的元素。从定义上说是不可能的!就像我不能喝一杯水一样,我只能喝^_^
如果您有进一步的问题,请回复。
顺便说一句,我不知道你的应用程序需要,但我有强烈的感觉,排序集是不适合您的应用程序的老师。
发布于 2015-09-23 22:20:29
不更新集合的(排序或未排序)成员。您必须删除旧成员,并在其位置添加新的(更新的JSON),并得到相应的分数。您可以将其封装在Lua或WATCH/MULTI/EXEC块中,以获得原子性。
发布于 2020-09-16 23:27:30
如果将列表用作键(得分) =>值存储,则可以先按分数删除。
ZREMRANGEBYSCORE key score score
ZADD key score datahttps://stackoverflow.com/questions/32749824
复制相似问题