Redis存在五种基础类型:字符串(String)、列表(List)、哈希(Hash)、集合(Set)、有序集合(Sorted Set)。本次列举出Set的常用操作。
Redis官网:https://redis.io/
Redis 中的集合是一个字符串类型的无序集合,即集合中不存在重复的元素。集合中最大的元素个数为 2^32 -1
个,集合内部的操作是基于哈希表实现的,一次添加、查找、删除操作的时间复杂度都为 O(1)。
eg:
eg:
eg:
eg:
eg:
eg:
eg:
eg:
eg:
eg:
eg:
eg:
eg:
eg:
eg:
简单模拟抽奖场景,利用Set中随机获取集合中一个值来完成抽奖场景,具体场景为,年会活动,用户扫码加入抽奖活动,每个用户有独自的id,抽奖项为一等奖,抽中者不能再参与抽奖活动。
1、初始用户id
service.SetAdd("FirstPrize", "userId1"); service.SetAdd("FirstPrize", "userId2"); service.SetAdd("FirstPrize", "userId3"); service.SetAdd("FirstPrize", "userId4"); service.SetAdd("FirstPrize", "userId5"); service.SetAdd("FirstPrize", "userId6");
2、完成一轮抽奖活动,随机从参与集合中获取一个用户id。
service.SetPop<string>("FirstPrize");
3、效果展示一下,每轮获取一个数据,并从原有集合中删除,保证了下一次抽奖活动不会再抽中原有获奖者。
仓库地址:https://gitee.com/530521314/Partner.TreasureChest.git(RedisOperate文件夹)
2020-06-14,望技术有成后能回来看见自己的脚步
原文:https://www.cnblogs.com/CKExp/p/12976724.html