Redis 基本数据结构
1. String类型
String类型是Redis中最基本的数据类型,是key-value的对应形式,Redis中的string可以包含任何类型的数据,数字,字符串,图片等
使用:get,set,del,incr,decr等
适用场景:缓存,把常用信息,字符串,图片或视频放到Redis中,Redis作为缓存层,MySql做持久化层,降低mysql的读写压力
2. Hash类型
本身是一个HashMap,一种键值对的形式,field对应value
使用:所有hash的命令都是以h开头的,hset,hget,hdel等
使用场景:做缓存,可以直观的维护缓存信息,并且相较于string更节省空间,用来维护用户信息,视频信息等。
3. 链表
Redis使用双端队列实现链表,左右都可以插入
使用场景:时间轴,比如博客的时间轴,如果有人发布博客,展示新的列表信息。
4. Set集合
集合类型也是用来保存多个字符串的元素,但和列表不同的是集合中
不允许有重复的元素,
集合中的元素是无序的,不能通过索引下标获取元素,
支持集合间的操作,可以取多个集合取交集、并集、差集。
使用场景:
- 给用户添加标签,或者给信息添加标签,这样有同一标签或者同一类标签的可以进行推荐
- 点赞,收藏等,可以放到set中
5. zset有序集合,(zset的底层实现是跳跃表)
跳跃表是有序单链表的一种改进,其查询,插入,删除也是O(logn)复杂度。
有序集合和集合类似,保留了集合不能有重复成员的特性,区别是有序集合的元素可以进行排序,它会给每个元素设置一个分数,作为排序的依据。
使用场景:排行榜,各种分类的排行榜,按照不同的类型进行排序。
————————————————
版权声明:本文为CSDN博主「Haohao.」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/qq_45974547/article/details/121046853