1

我正在使用 redis 将项目列表存储在一组中。我定期向集合添加一个非常相似的列表,显然,排序集合仅在新项目不存在时才添加它们。有没有办法获得刚刚添加的新项目列表?那些不存在于集合中的?

丹科舒恩。

4

2 回答 2

3

ZADD command, if called with one score/member pair, returns 1 if member was new and 0 if it already existed. You can use this. Add elements one by one and check return values.

于 2012-07-24T22:30:34.453 回答
1

除了按照 Sergio 的描述迭代新列表之外,您还可以将排序集中的键存储在一个集合中,将新列表存储在一个集合中,并对它们执行 sdiff 或 sdiffstore 以获得差异。

哪条路线更好是根据您的代码和数据集对您的判断。如果新列表很短,可能会使用像 Sergio 描述的 zadd 命令进行简单迭代。否则我会测试看看哪个更适合我的用例。

于 2012-07-25T20:00:04.877 回答