Redis是基于内存存储的,MySQL是基于磁盘存储的

图 1

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

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

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

从算法结构上来说MySQL是关系型数据库,以nnodb来说,是B+树。查询的时间复杂度是O( logn)级别的,而Redisk-v存储方式。存在多种方式,有基于hash,跳表等数据结构。总体来说Redis比较快

最重要的是Redis无需缓存



本文作者: 博主:    文章标题:为什么 Redis 比 MySQL 快?
本文地址:https://teamep.cn/156.html     
版权说明:若无注明,本文皆为“指间”原创,转载请保留文章出处。
最后修改:2020 年 09 月 30 日 12 : 45 PM
如果觉得我的文章对你有用,请随意赞赏