Redis入门,有这篇文章就够了
文章目录
是什么?
Redis它是key-value兼职对的Nosql数据库,它与其他的关系型数据库不同的是,它是将数据保存到内存,这样很大程度上了提高读写速度。提供了String,hash,list.set,zset多种数据结构,所以它可以应用于不同的场景;而且它将内存上的数据以快照和日志的形式存在硬盘上,保证了数据的持久性;
特性?
- 速度快;因为是数据是存储到内存上的,读写速度可以达到10万/秒;
- 键值对;key-value的形式;提供了很多的数据结构,这样增加了应用场景,并且很长程度上提高了查找的速度;
- 其他功能丰富;比如设定过期时间,实现了缓存;pub/sub实现消息系统;流水线功能等等
- 支持多语言;因为Redis是提供了TCP协议,所以多种语言很方便的使用Redis;
- 持久化;Redis将数据从内存上放到了硬盘上,这样当突然断电或宕机,这时候保证了数据不会丢失;
- 主从复制;
- 高可用和分布式;
五种数据类型
 数据类型中都存在内部编码,拥有内部结构的好处是,在改变内部编码的时候,对于外部命令没有影响;而且不同的内部编码可以应用在不同的业务场景中,提供了性能;下面来介绍一下,五种数据类型;
String
1.存储方式
2.内部编码
主要包括了三种内部编码,包括int(8Byte)、enbstr(小于等于39Byte)、raw(大于39字节)
3.应用场景
-
缓存功能
用户在访问数据库的时候,先通过Redis缓存,Redis支持高并发的特性,所以使用缓存可以起到高速读写和降低缓存的作用; -
计数功能
因为String 类型可以有自增长的功能,所以可以达到计数效果;比如我们在进行视频播放的时候,用户美播放一次,然后播放数就会相应的增加一次; -
共享Session
将session 交由Redis进行管理,然后这时候就可以保证用户不需要每次刷新都需要重新登录; -
限速
比如我们在获取手机验证码时,设定多长时间不能再次获取;
Hash
1.存储方式
2.内部编码
分为ziplist(压缩列表)和hashtable(哈希表)
3.应用场景
可以将关系型数据库中的每条数据,存储成hash;
list
1.存储方式
2.特点
- 存储多个有序的字符串
- 元素是有序的
- 可以重复
3.内部编码
- ziplist(压缩列表)
元素个数小于 lisst-max-ziplist-entries配置(512个),同时列表中的每个元素的值都小于list-max-ziplist-value配置(默认64字节) - linkedlist(链表)
无法满足ziplist条件时使用
4.使用场景
- 消息队列
生产者可以从队列的左边push 进去,然后消费者从队列的右边pop取数据; - 文章列表
set
1.存储方式
2.特点
- 保存多个字符串
- 不重复
- 无序
3.内部编码
- intset(整数集合)
当元素满足整数并且元素个数小于set-max-intset-entries(默认512个)
2.hashtable(哈希表)
&emsp:不满足intset条件
4.使用场景
- 标签(tag)
zset
1.使用场景
2.特征
- 有序
- 不可重复
3.内部编码
- ziplist(压缩列表)
当元素个数小于zset-max-ziplist-entries(默认128个),同时,元素值小于zset-max-ziplist-value(默认64Byte) - skiplist(跳跃表)
不满足ziplist存储条件;
4.使用场景
- 排行榜系统
图文展示
前言万语汇成一张图,汇总一下,上面总结的内容;