342 字
2 分钟
Redis为什么快
1.基于内存,内存IO比磁盘快
2. 采用 单线程 + 非阻塞 I/O + I/O 多路复用(高效处理并发)模型
3. 网络IO用上了多线程
4. 底层数据结构被专门优化过
29%
全部章节
- 1 什么是Redis
- 2 Redis有哪些数据类型
- 3 Redisson延时队列架构
- 4 redis配置json序列化
- 5 为什么Redis设计为单线程而后面版本为啥又引入多线程呢
- 6 Redis为什么快 阅读中
- 7 Redis中常见的数据类型有哪些
- 8 Redis的Hash是什么
- 9 Redis跳表
- 10 RedisZset实现原理
- 11 缓存与数据库一致性问题
- 12 Redis缓存击穿缓存穿透缓存雪崩
- 13 RedisString底层
- 14 Redis单点故障问题
- 15 Redis如何实现分布式锁
- 16 Redis实现分布式锁的时候可能遇到的问题有哪些
- 17 Redis大Key问题
- 18 如何解决Redis中热点key的问题
- 19 Redis持久化机制
- 20 Redis数据过期后的删除策略
- 21 Redis主从复制的实现原理是什么
Redis为什么快
- 使用内存存储
- Redis采用了IO多路复用技术的事件驱动模型来处理客户端请求,执行Redis命令
- Redis6.0引入多线程机制,把网络和I/O处理放到多个线程中,减少了单线程的瓶颈,网络IO交给线程池处理,命令仍然在主线程中进行。充分利用CPU多核的优势,提升了性能。

- Redis 对底层数据结构做了极致的优化,比如说 String 的底层数据结构动态字符串支持动态扩容、预分配冗余空间,能够减少内存碎片和内存分配的开销。
1.基于内存,内存IO比磁盘快 2. 采用 单线程 + 非阻塞 I/O + I/O 多路复用(高效处理并发)模型 3. 网络IO用上了多线程 4. 底层数据结构被专门优化过
- 单线程:单线程可以避免多线程的数据竞争和上下文切换开销。
- 非阻塞IO,Redis对客户端连接的I/O操作设置为非阻塞,主线程发起I/O操作后,不需要等待结果返回,可以继续处理其它事件。
- I/O多路复用: 主线程可以同时监听多个客户端连接的I/O事件,一旦某个事件就绪,在进行集中处理。
发现错误或想要改进这篇文章?
在 GitHub 上编辑此页 Redis为什么快
相关文章
按系列 / 标签 / 分类推荐