数据库
首页 > 数据库> > Redis为什么快

Redis为什么快

作者:互联网

1.1 基于内存存储实现

内存读写是比在磁盘快很多的,Redis基于内存存储实现的数据库,相对于数据存在磁盘的MySQL数据库,省去磁盘I/O的消耗。

1.2 高效的数据结构

Mysql索引为了提高效率,选择了B+树的数据结构。其实合理的数据结构,就是可以让你的应用/程序更快。先看下Redis的数据结构&内部编码图:

图片

1.2.1 SDS简单动态字符串

图片

1.2.2 字典

Redis 作为 K-V 型内存数据库,所有的键值就是用字典来存储。字典就是哈希表,比如HashMap,通过key就可以直接获取到对应的value。而哈希表的特性,在O(1)时间复杂度就可以获得对应的值。

1.2.3 跳跃表

img

图片

1.3 合理的数据编码

Redis 支持多种数据类型,每种基本类型,可能对多种数据结构。什么时候,使用什么样数据结构,使用什么样编码,是redis设计者总结优化的结果。

1.4 合理的线程模型

I/O 多路复用

img

图片

多路I/O复用技术可以让单个线程高效的处理多个连接请求,而Redis使用用epoll作为I/O多路复用技术的实现。并且,Redis自身的事件处理模型将epoll中的连接、读写、关闭都转换为事件,不在网络I/O上浪费过多的时间。

标签:为什么,编码,字节,小于,Redis,使用,数据结构
来源: https://www.cnblogs.com/landson/p/15914846.html