一、String类型
String数据类型是Redis中最基本的数据类型,是key-value的对应形式,redis中的string可以包含任何类型的数据,数字,字符串,图片等等

在这里插入图片描述
使用:get 、 set 、 del 、 incr、 decr 等
适用场景:缓存: 经典使用场景,把常用信息,字符串,图片或者视频等信息放到redis中,redis作为缓存层,mysql做持久化层,降低mysql的读写压力。
二、Hash类型
本身是一个HashMap,一种键值对的形式,field对应value
在这里插入图片描述
使用:所有hash的命令都是 h 开头的 hget 、hset 、 hdel 等
使用场景:做缓存: 能直观,相比string更节省空间,的维护缓存信息,如用户信息,视频信息等。
三、链表(List)
Redis使用双端队列实现了链表,左右都可以插入删除

使用场景:例如微博的时间轴,有人发布微博,用lpush加入时间轴,展示新的列表信息。
四、Set 集合
集合类型也是用来保存多个字符串的元素,但和列表不同的是集合中 1. 不允许有重复的元素,2.集合中的元素是无序的,不能通过索引下标获取元素,3.支持集合间的操作,可以取多个集合取交集、并集、差集。
在这里插入图片描述
使用场景:
1.给用户添加标签,或者用户给消息添加标签,这样有同一标签或者类似标签的可以给推荐关注的事或者关注的人。
2.点赞,或点踩,收藏等,可以放到set中实现
五、zset有序集合(底层的实现是跳跃,跳跃表是有序单链表的一种改进,其查询、插入、删除也是O(logN)的时间复杂度。)
有序集合和集合类似,保留了集合不能有重复成员的特性,区别是,有序集合中的元素是可以排序的,它给每个元素设置一个分数,作为排序的依据。
在这里插入图片描述
使用场景:排行榜,例如微博各种分类的排行榜,小说等按照不同类型(浏览量,收藏数量等)的排行榜.

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐