首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在排序集中更改数据?

如何在排序集中更改数据?
EN

Stack Overflow用户
提问于 2015-09-23 21:29:34
回答 3查看 5.9K关注 0票数 4

我在Redis中使用排序集数据类型。我使用命令zadd添加数据。添加数据是JSON格式。

如何在这个按分数排序的集合中更改值?我需要获得JSON值并更改一个字段,并在更新此排序集之后。

我试着用同样的分数添加一些数据,但是我得到了双重数据。

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2015-09-24 07:43:37

很简单!

代码语言:javascript
复制
ZREM key data;
ZADD key score newdata;

您根本无法更新SET结构中的元素。从定义上说是不可能的!就像我不能喝一杯水一样,我只能喝^_^

如果您有进一步的问题,请回复。

顺便说一句,我不知道你的应用程序需要,但我有强烈的感觉,排序集是不适合您的应用程序的老师。

票数 17
EN

Stack Overflow用户

发布于 2015-09-23 22:20:29

不更新集合的(排序或未排序)成员。您必须删除旧成员,并在其位置添加新的(更新的JSON),并得到相应的分数。您可以将其封装在Lua或WATCH/MULTI/EXEC块中,以获得原子性。

票数 4
EN

Stack Overflow用户

发布于 2020-09-16 23:27:30

如果将列表用作键(得分) =>值存储,则可以先按分数删除。

代码语言:javascript
复制
ZREMRANGEBYSCORE key score score
ZADD key score data
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/32749824

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档