目前,我正在尝试更新已排序的集合成员。查看文档,使用ZADD
似乎可以更新成员(如果其分数已经存在)。但是,使用此代码尝试更新成员时,
db.zadd("users", parseInt(key, 10) + 1, JSON.stringify(newData));
....即使分数已经存在,也会添加一个新条目!如何使用Redis更新排序的集合成员?
只要条目之间的键和成员匹配,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命令之间使用了不同的键或成员?