Set是一个无序且唯一的集合,相当于java中的HashSet。
和List的区别如下:
- List可以存储重复元素,Set只能存储非重复元素
- List是按照元素的先后顺序存储元素的,Set是无序的存储
1、点赞
set可以保证一个用户只能点赞一次,使用SADD key value来插入点赞数据。
127.0.0.1:6379> SADD comment:1 1
(integer) 1
127.0.0.1:6379> SADD comment:1 1
(integer) 0
127.0.0.1:6379> SADD comment:1 2
(integer) 1
可以根据操作的结果来判断用户是否已经点赞;如果用户已经点赞后,继续插入数据,则会返回0,否则返回1。
同时可以使用SISMEMBER key value命令来查询是否是否已经点赞,如果用户已经点赞(即数据存在),则会返回1,否则返回0。
127.0.0.1:6379> SISMEMBER comment:1 1
(integer) 1
127.0.0.1:6379> SISMEMBER comment:1 3
(integer) 0
如果需要取消点赞,使用SREM key value命令即可。
127.0.0.1:6379> SREM comment:1 1
(integer) 1
Comments NOTHING