redis list/set中的唯一值

use*_*sks 10 nosql redis

我想列出现有产品,redis但我想检查产品名称是否已经存在(重复检查).

我的列表目前接受重复,所以:任何人都可以帮我展示如何在列表中添加唯一值吗?

小智 23

不使用列表,而是使用集合.集合是唯一对象的容器.每个对象只能在一个集合中出现一次.在这里查看与set相关的命令:http://redis.io/commands/#set.

以及使用redis-cli的示例(我们尝试两次添加"Product One",但它只在产品列表中出现一次):

$ redis-cli
127.0.0.1:6379> sadd products "Product One"
(integer) 1
127.0.0.1:6379> sadd products "Product Two"
(integer) 1
127.0.0.1:6379> sadd products "Product Three"
(integer) 1
127.0.0.1:6379> sadd products "Product One"
(integer) 0
127.0.0.1:6379> smembers products
1) "Product Three"
2) "Product One"
3) "Product Two"
127.0.0.1:6379>
Run Code Online (Sandbox Code Playgroud)

  • ...如果您需要按顺序使用"列表" - 请使用排序集:) (6认同)