Redis为什么这么快?
创始人
2024-05-25 02:26:12

1.基于内存存储实现

在MySQL数据库中,所有的读写操作都要通过IO的方式从硬盘中获取。在Redis中,所有的操作都是基于内存实现的,从而减少IO操作提高数据库性能。

2.高效的数据结构

SAS简单动态字符串

  • 字符串长度:SAS查询的时间复杂度O(1),c语言中时间复杂度O(n)
  • 空间分配来看:
    • 在c语言中,频繁的修改字符串,会频繁的修改空间大小很耗费性能。
    • SAS如果修改字符串,只需调用未分配的空间即可。
  • 惰性空间的释放:SAS在缩短时,不是去分配空间。而是通过free指针记录释放的空间,省的去操作空间。以此节约时间。
  • 二进制存储:Redis可以存储二进制数据,而c语言遇到’/0’结束。而SAS时根据len属性来判断是否结束。

字典

字典实际上就是哈希表,在redis中大部分数据存储都使用到了哈希表的结构。在java中的hashMap也使用字典数据结构。好处就是获取任意值的时间复杂度为O(1)

跳跃表

  • 是Redis特有的数据结构,是在链表的基础上,增加了多级索引来增强查找效率问题。
  • 跳跃表的平均查找的时间复杂O(logn),最坏查找O(n)

3.合理的编码方式

  • String :
    • 当值为数字时,编码格式int。
    • 当值为字符串时且长度小于等于39时,编码格式为embstr
    • 当值为字符串且长度大于39时ÿ

相关内容

热门资讯

苗族的传统节日 贵州苗族节日有... 【岜沙苗族芦笙节】岜沙,苗语叫“分送”,距从江县城7.5公里,是世界上最崇拜树木并以树为神的枪手部落...
北京的名胜古迹 北京最著名的景... 北京从元代开始,逐渐走上帝国首都的道路,先是成为大辽朝五大首都之一的南京城,随着金灭辽,金代从海陵王...
北京的名胜古迹 北京最著名的景... 北京从元代开始,逐渐走上帝国首都的道路,先是成为大辽朝五大首都之一的南京城,随着金灭辽,金代从海陵王...
世界上最漂亮的人 世界上最漂亮... 此前在某网上,选出了全球265万颜值姣好的女性。从这些数量庞大的女性群体中,人们投票选出了心目中最美...
长白山自助游攻略 吉林长白山游... 昨天介绍了西坡的景点详细请看链接:一个人的旅行,据说能看到长白山天池全凭运气,您的运气如何?今日介绍...