redis为什么比mysql快
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) 。
推荐阅读
- 魔兽世界|魔兽TBC:为什么玩家期待跨区组队?降低组队难度,无需频繁换区
- 李儒|三国杀:为什么叫李儒时代的骄傲,他到底有什么好骄傲的?厉害吗
- 池子|“为什么优菈总是在让人始料未及的版本到来?我还没准备好呀!”
- fpx战队|为什么同样是S赛夺冠,FPX的热度,完全没法跟IG与EDG相比?
- 王者荣耀|王者荣耀为什么要出限定皮肤?看完你就明白了
- 手机游戏|CFHD:神秘组织为什么开发生化手雷呢?关键是为了赚更多钱
- 打野|王者荣耀:不管什么打野都出一件肉装,李白都出暴裂,为什么?
- 抖音|正在火热追我的富二代,在得知我生日后突然消失不见,到底为什么
- |为什么很多人都说剑圣JUGG是伪核,后期能力不行!
- steam|原神:常驻五星废弃率排名,为什么大家越来越在乎“强度”了