Redis对象——集合(Set) (2)

如果允许重复中奖,可以使用SRANDMEMBER 命令

//添加抽奖名单 127.0.0.1:6379> SADD lucky:1 Tom (integer) 1 127.0.0.1:6379> SADD lucky:1 Jerry (integer) 1 127.0.0.1:6379> SADD lucky:1 John (integer) 1 127.0.0.1:6379> SADD lucky:1 Marry (integer) 1 127.0.0.1:6379> SADD lucky:1 Sean (integer) 1 127.0.0.1:6379> SADD lucky:1 Lindy (integer) 1 127.0.0.1:6379> SADD lucky:1 Echo (integer) 1 //抽取三等奖3个 127.0.0.1:6379> SRANDMEMBER lucky:1 3 1) "John" 2) "Echo" 3) "Lindy" //抽取二等奖2个 127.0.0.1:6379> SRANDMEMBER lucky:1 2 1) "Sean" 2) "Lindy" //抽取一等奖1个 127.0.0.1:6379> SRANDMEMBER lucky:1 1 1) "Tom"

如果不允许重复中奖,可以使用 SPOP 命令

//添加抽奖名单 127.0.0.1:6379> SADD lucky:1 Tom (integer) 1 127.0.0.1:6379> SADD lucky:1 Jerry (integer) 1 127.0.0.1:6379> SADD lucky:1 John (integer) 1 127.0.0.1:6379> SADD lucky:1 Marry (integer) 1 127.0.0.1:6379> SADD lucky:1 Sean (integer) 1 127.0.0.1:6379> SADD lucky:1 Lindy (integer) 1 127.0.0.1:6379> SADD lucky:1 Echo (integer) 1 //抽取三等奖3个 127.0.0.1:6379> SPOP lucky:1 3 1) "John" 2) "Echo" 3) "Lindy" //抽取二等奖2个 127.0.0.1:6379> SPOP lucky:1 2 1) "Sean" 2) "Marry" //抽取一等奖1个 127.0.0.1:6379> SPOP lucky:1 1 1) "Tom"

注意:

Redis 2.6版本开始SRANDMEMBER命令支持Count参数。

Redis 3.2版本开始SRANDMEMBER命令支持Count参数。

其余低版本一次只能获取一个随机元素。

小结

本篇文章我们总结了Redis 集合对象的内部实现、常用命令以及常用的一些场景,那么大家在项目中对Redis集合对象的使用都有哪些场景呢,欢迎在评论区给我留言和分享,我会第一时间反馈!我们共同学习与进步!

参考

《Redis设计与实现》

《Redis开发与运维》

《Redis官方文档》

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/wpwpgx.html