最细教程---通俗易懂的Redis数据结构

Redis数据结构

 Key---------Value,其中Value有五种数据结构,分别为
  • string(字符串)
  • list(列表)
  • hash(字典)
  • set(集合)
  • zset(有序集合)
Redis数据结构如图所示

作用:redis作为缓存层,mysql做持久化层,降低mysql的读写压力。

一、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)的时间复杂度。)


有序集合和集合类似,保留了集合不能有重复成员的特性,区别是,有序集合中的元素是可以排序的,它给每个元素设置一个分数,作为排序的依据。

使用场景:排行榜,例如微博各种分类的排行榜,小说等按照不同类型(浏览量,收藏数量等)的排行榜.

  • 5
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值