redis面试
为什么redis速度快?
- Redis的所有数据都是存放在内存中的,所以把数据放在内存中是Redis速度快的最主要原因
- Redis是用C语言实现的,一般来说C语言实现的程序“距离”操作系统更近,执行速度相对会更快
- Redis使用了单线程架构,预防了多线程可能产生的竞争问题
明白redis是很快的,官方表示,redis是基于内存操作,CPU不是redis性能瓶颈,Redis的瓶颈是根据机器的内存和网络带宽,既然可以使用单线层来实现,就使用单线程了!
为什么redis单线程还这么快?
1、误区1:高性能的服务器一定是多线程的?
2、误区2:多线程(CPU上下文会切换!)一定比单线程效率高! cpu>内存>硬盘的速度
核心:redis是将所有的数据全部放在内存中的,所以说使用单线程去操作效率就是最高的,多线程(CPU上下文切换:耗时的操作!),对于内存系统来说,如果没有上下文切换效率就是最高的!多次读写都是在一个CPU上的,在内存情况下,这个就是最佳方案!