大家好,我们今天分享的面试题是redis为什么比Mysql快?大家在平时工作中应该都用过redis和Mysql。redis一般用作缓存,Mysql一般用来持久化存储。一些数据可以分为三点来解释这个问题。
·第一点,mysql的数据是存储在磁盘里面,存储在磁盘里就会有10的瓶颈,而redis是存储存储在内存中,其实没有10瓶颈,因为CPU可以直接去读取,这是它的。
·第二点,redis的数据结构是键值对的形式,非常简单。设置key的值或者获取key的值非常简单。而mysql则不同,mysql是表和表之间是有关联关系的。如果想要获取数据得通过多表关联来判断或者筛选所想要的数据。而redis不需要这么复杂。

·第三点,Disk是单线程设计,mysql不是单线程,它是可以多线程的单线程设计,不用考虑所得资源的竞争问题。但是多线程买mysql需要考虑在高并发的时候资源竞争的一些问题。
·还有一个原因,当然这不是主要的原因。Redis的数据是保存在内存里默认不持久化的,也就是说断电重启之后Redis里面的数据会消失。而mysql的数据默认持久化,也就是说插入一个数据之后或者存储一个数据之后,它默认是断电处理之后它还是有的。

基于这4点原因可以解答这个问题。今天的面试题就分享到这里。