java中的set是一个接口,无序不可重复。
redis中的set:在集合中的每个元素都是不同的,且没有顺序。
常用命令
增加sadd
127.0.0.1:6380> sadd users 1 2 3 4 5 6 7
(integer) 7
删除srem
127.0.0.1:6380> SREM users 1
(integer) 1
遍历SMEMBERS
127.0.0.1:6380> SMEMBERS users
1) "2"
2) "3"
3) "4"
4) "5"
5) "6"
6) "7"
判断是否包含某个元素SISMEMBER
127.0.0.1:6380> SISMEMBER users 2
(integer) 1
根据SISMEMBER这个属性,我们可以继续完成抢购秒杀
不明白的可以看上一篇:https://blog.csdn.net/weixin_42275175/article/details/98654331
String goodsId = "1011";
String key = "kill:" + goodsId;//商品列表
String userKey = "success:users:" + goodsId;// 成功的商品,用户
String userId = "105";
if (jedis.llen(key) != 0) {
if (!jedis.sismember(userKey, userId)) {
String xuhao = jedis.lpop(key);
if (xuhao != null) {
jedis.sadd(userKey, userId);
System.out.println("抢购成功" + xuhao);
} else {
System.out.println("抢购失败");
}
}
}