redis高性能的原因-简单版

出去面试常被问到Redis相关问题,本文总结了Redis使用单线程还能高性能的原因。包括纯内存访问,响应时间短;采用非阻塞I/O,使用epoll及自身事件处理模型;单线程减少了线程切换和锁的消耗;还使用了高效的数据结构,如hash、压缩表、跳表等。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

出去面试基本都会被问到redis,不外乎redis的操作,机制和性能等,这里简单总结一下redis为什么使用单线程还能如此高性能的原因:

  1. 纯内存访问
    Redis将所有数据放在内存中,内存的响应时间大约为100纳秒,这时Redis达到每秒万级别访问的重要基础;

  2. 非阻塞I/O
    Redis使用epoll作为I/O多路复用技术的实现,在加上Redis自身的事件处理模型将epoll中的链接、读写、关闭都转换为事件,不在网络I/O上浪费过多的时间;

  3. 减少了线程切换
    单线程避免了线程切换和锁产生的消耗。

  4. 高效的数据结构
    Redis全程使用hash结构,读取速度快,还有一些特殊的数据结构,对数据存储进行了优化,如压缩表,对短数据进行压缩存储,再如,跳表,使用有序的数据结构加快读取的速度。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值