Redis应用场景(五)Set集合

浮生半日闲 发布于 2022-11-09 5 次阅读


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