[Redis]为什么这么快

redis为什么这么快#

  1. 基于内存实现
    redis将数据存储在内存中,内存的读写速度很快,所以redis速度很快
  2. 高效的数据结构
    • 哈希表
    • 跳表
    • 压缩表
    • 快表
    • 双向链表
    • 简单动态字符串
    • 整数数组
  3. 单线程模型
  4. 使用IO多路复用
  5. 合理的数据编码

image

Redis为什么会比MySQL快?#

1.(内存和磁盘的区别)Redis是基于内存存储的,MySQL是基于磁盘存储的

2.(哈希索引和B+树索引的区别)Redis存储的是k-v格式的数据。时间复杂度是O(1),常数阶,而MySQL引擎的底层实现是B+Tree,时间复杂度是O(logn),对数阶。Redis会比MySQL快一点点。

3.MySQL数据存储是存储在表中,查找数据时要先对表进行全局扫描或者根据索引查找,这涉及到磁盘的查找,磁盘查找如果是按条点查找可能会快点,但是顺序查找就比较慢;而Redis不用这么麻烦,本身就是存储在内存中,会根据数据在内存的位置直接取出。

4.(单线程和多线程的区别)Redis是单线程的多路复用IO,单线程避免了线程切换的开销,而多路复用IO避免了IO等待的开销,在多核处理器下提高处理器的使用效率可以对数据进行分区,然后每个处理器处理不同的数据。

作者:Esofar

出处:https://www.cnblogs.com/DCFV/p/18316760

版权:本作品采用「署名-非商业性使用-相同方式共享 4.0 国际」许可协议进行许可。

posted @   Duancf  阅读(3)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?
more_horiz
keyboard_arrow_up dark_mode palette
选择主题
menu
点击右上角即可分享
微信分享提示