redis为什么比mysql快


本文摘自PHP中文网,作者(*-*)浩,侵删。

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

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

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

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

首先,我们知道,mysql是持久化存储,存放在磁盘里面,检索的话,会涉及到一定的IO,为了解决这个瓶颈,于是出现了缓存,比如现在用的最多的 memcached(简称mc)。

首先,用户访问mc,如果未命中,就去访问mysql,之后像内存和硬盘一样,把数据复制到mc一部分。

阅读剩余部分

相关阅读 >>

Redis 有哪些用处

Redis运维之shell的使用――统计内存、定期备份、基准测试

Redis中sorted-sets类型的命令详细介绍

Redis限流的实现方式有几种?

centos7.6安装mysql和Redis的教程

关于Redis事务和pipleline

Redis中5种数据类型基本命令介绍

Redis单线程为什么效率高

关于spring Redis注解实现缓存机制

实现从Redis中订阅消息转发到 websocket 客户端

更多相关阅读请进入《Redis》频道 >>


数据库系统概念 第6版
书籍

数据库系统概念 第6版

机械工业出版社

本书主要讲述了数据模型、基于对象的数据库和XML、数据存储和查询、事务管理、体系结构等方面的内容。



打赏

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码打赏,您说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

分享从这里开始,精彩与您同在

评论

管理员已关闭评论功能...