课程名称 :Redis 入门
课程章节 :Redis 数据结构
讲师:慕神
课程内容
Redis数据结构(Set)无序集合
List允许出现重复数据,Set不允许出现重复数据;
Set最大元素数量是4294967295
命令:
(1)存:sadd 列名 [值...]
(2)删:srem 列名 [值...]
(3)查全:smembers 列名
(4)查是否存在:sismember 列名 值,1表示存在,0表示不存在
(5)差集:sdiff 列名1 列名2 (与顺序有关)
(6)交集:sinter 列名1 列名2
(7)并集:sunion 列名1 列名2
(8)查数量:scard 列名
(9)随机查:srandmember 列名
(10)将差集存到新集合中:sdiffstore 新列名 列名1 列名2
(11)将交集存到新集合中:sinterstore 新列名 列名1 列名2
(12)将并集存到新集合中:sunionstore 新列名 列名1 列名2
具体使用场景 跟踪一下具有唯一性的数据,用于维护数据对象之间的关联关系。
存储 Sorted-set 有序集合
1.Sorted-Set和Set的区别
sorted-set:每个成员都有一个分数与之关联,成员唯一,可以对应多个分数
2.Sorted-Set中的成员在集合中的位置是有序的
添加删除更新一个成员是比较快的。 用作排名,热点话题等。
存储Sorted-Set常用命令:
1.添加元素:zadd
zadd sort 10 a 20 b 30 c #a的分数是10、b的分数是20、c的分数是30
2.获得元素:zscore获得分数、zcard获得成员数量
zscore sort a #获得a的分数
3.删除元素:zrem、zremrangebyrank按照排名范围删除、zremrangebyscore按照分数范围删除
zrem sort a b #删除成员a、b
zremrangebyrank sort 0 4 #删除排名0-4的成员
zremrangebyscore sort 10 30 #删除分数10-30的成员
4.范围查询:zrange
zrange sort 0 -1 #所有成员
zrange sort 0 -1 withscores #查询成员及分数,从小到大
zrevrange sort 0 -1 withscores #从大到小
5.扩展命令:
zrangebyscore sort 0 100 withscores #显示0-100分数的成员
zrangebyscore sort 0 100 withscores limit 0 2 #显示0-100分数的成员的前两名
zincrby sort 10 c #给c加上10
zcount sort 80 100 # 显示80-100分数的成员个数
Sorted-Set使用场景:
如大型在线游戏积分排行榜
构建索引数
课程收获
本节学习了redis的数据结构 set集合和有序集合Sorted-set。虽然只是redis基础的一些东西,但深入理解了以后对我们工作当中遇到的一些问题帮助很多,当有些数据处理问题数据库不是很方便的时候可以考虑一下用redis的集合去解决。比如做排行榜,热点话题统计等。