5.集合类型set
5.1概述
在Redis中,我们可以将Set类型看作为没有排序的字符集合,和List类型一样,我们也可以在该类型的数据值上执行添加、删除或判断某一元素是否存在等操作。
Set可包含的最大元素数量是40亿,和List类型不同的是,Set集合中不允许出现重复的元素。
5.2常用命令
命令 |
行为 |
sadd 键 元素 元素 |
向set集合中添加1个或多个元素 |
smembers 键 |
查询指定的集合中所有的元素 |
sismember 键 元素 |
判断指定的元素是否在某个集合中,如果存在返回1,否则返回0 |
srem 键 元素 元素 |
remove 删除指定的一个或多个元素 |
sunion 键1 键2 |
返回给定集合的并集。不存在的集合 key 被视为空集。 |
5.3命令演示
需求:
向myset集合中添加A B C 1 2 3 六个元素
再向myset中添加B元素,看能否添加成功
显示所有的成员,发现与添加的元素顺序不同,元素是无序的
删除其中的C这个元素,再查看结果
判断A是否在myset集合中
判断D是否在myset集合中
创建键为set1的集合:元素是 a b c
创建键为set2的集合:元素是 a b d
得到set1和set2的并集,并且显示
6.有序集合zset
6.1概述
Redis 有序集合和集合一样也是无序不可以重复。
不同的是每个元素都会关联一个分数。redis正是通过分数来为集合中的成员进行从小到大的排序。有序集合的成员是唯一的,但分数(score)却可以重复,每个集合可存储40多亿个成员。
6.2常用命令
命令 |
行为 |
zadd 键 分数 值 分数 值 |
向有序集合添加一个或多个成员 |
zrange 键 开始索引 结束索引 |
通过索引区间返回有序集合中指定区间内的成员 |
zrem 键 值 值 |
移除有序集合中的一个或多个成员 |
zrank 键 值 |
返回有序集合中指定成员的索引 |
zcard 键 |
获取有序集合的成员数 |
zscore 键 值 |
得到指定成员的分数 |
6.3命令演示
添加键country,分数是10,值是Japan
添加键country,分数是5,值是USA
添加键country,分数是1,值是China,分数是120,值是Korea
查询country中所有的元素
查询Japan的索引号(从0开始)
删除值为USA的元素
查询country中还有多少个元素
6.4效果