目前我正在尝试更新一个排序集成员。查看文档,使用 ZADD
似乎应该更新一个成员,如果它的分数已经存在。但是,在使用此代码尝试更新成员时,
db.zadd("users", parseInt(key, 10) + 1, JSON.stringify(newData));
....即使分数已经存在,也会添加一个新条目!如何使用 Redis 更新排序集成员?
最佳答案
只要条目之间的 key 和成员匹配,ZADD 就会替换旧成员的分数:
redis localhost:6379> ZADD test-key 40 blah
(integer) 1
redis localhost:6379> ZRANGE test-key 0 -1 WITHSCORES
1) "blah"
2) "40"
redis localhost:6379> ZADD test-key 45 blah
(integer) 0
redis localhost:6379> ZRANGE test-key 0 -1 WITHSCORES
1) "blah"
2) "45"
也许您在 ZADD 命令之间使用了不同的键或成员?
关于javascript - 使用 Redis 更新排序集,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18625581/