
在现有的存储层次中,存储介质有多种类型,寄存器是最快的,仅用于处理器内部操作,L1、L2、L3级缓存主要用于临时存储属于用以加快处理速度。
而我们接触最多的内存,用于存储程序运行的临时数据,访速度远远快于硬盘。
而固态硬盘及机械硬盘则用于存储长期数据,速度相对较慢。
而redis是基于内存的,比常规的磁盘访问速度要快1000倍,这是redis快的原因之一。

redis快的第二点原因在于IO多路复用&单线程读写
多个套接字通过io多路复用汇总到一个单线程事件循环中,所以redis不需要为每个事件创建单独的线程,IO多路复用可以实现对客户端连接的高效管理,从而实现在单线程在依旧可以处理成千上万的并发请求。
redis的单线程任务处理,可以避免线程切换的开销,也可以保证高效,无需担心多线程并发的问题

而第三点redis快的原因是它采用的一些高效的数据结构
其中最核心使用到最多的就是SDS及skiplist,redis中用到最多的数据类型是字符串,它采用的就是SDS,Simple dynamic strings,简单动态字符串,它有如下特点
还有一种数据结构是skip list
跳表(Skip List)用于实现 Sorted Set 数据结构,支持快速的范围查询和插入操作。
跳表通过多层索引优化查找效率,查询时间复杂度为 O(log n),适合处理大量有序数据。
如上三点确保了redis为何快
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。