专注Java教育14年 全国咨询/投诉热线:400-8080-105
动力节点LOGO图
始于2009,口口相传的Java黄埔军校
首页 hot资讯 一文告诉你Redis单线程为什么快

一文告诉你Redis单线程为什么快

更新时间:2022-04-22 09:30:18 来源:动力节点 浏览2080次

Redis单线程为什么快?动力节点小编来为大家解答。

一文告诉你Redis单线程为什么快

1.完全基于内存操作,速度非常快。数据存储在内存中,类似于 hashmap。优点是搜索和操作的时间复杂度是O(1)

2.数据结构简单,对数据的操作也简单。redis中常用数据结构是专门设计的。

3.单线程用于避免不必要的上下文切换和竞争条件。不存在多进程或多线程造成的切换消耗CPU。无需考虑各种锁。没有锁和释放锁。操作。

4.使用多I/O复用模型,非阻塞IO。

5.底层模型不同,它们之间的底层实现方式以及与客户端的通信应用协议不同。Redis 直接自己构建了 VM 机制,因为一般系统调用系统函数,会浪费一定的时间来移动和请求。

多 I/O 多路复用模型:多 I/O 多路复用模型使用 select、poll 和 epoll 来同时监控多个流的 I/O 事件。空闲时,当前线程将被阻塞。当一个或多个流发生 I/O 事件时,它们会从阻塞状态中唤醒,所以程序会对所有的流进行一次轮询(epoll 只轮询那些真正发出事件的流),并且只按顺序这种方式避免了很多无用的操作。

这里的“多路径”是指多个网络连接,“多路复用”是指多路复用同一个线程。**使用多I/O复用技术,可以让单线程高效处理多个连接请求(尽量减少网络IO的时间消耗),而且Redis对内存中数据的操作速度非常快,也就是说操作不会成为瓶颈影响 Redis 的性能,主要是因为以上几点,Redis 具有很高的吞吐量。如果大家想了解更多相关知识,不妨来关注一下动力节点的Redis教程,里面还有更丰富的知识等着大家去学习,希望对大家能够有所帮助哦。

提交申请后,顾问老师会电话与您沟通安排学习

免费课程推荐 >>
技术文档推荐 >>