感觉问的挺简单的,都是比较基础的。二面难度应该会上来一些。不知道楼主就Redis为什么快是怎么回答的。我想到的点是。首先网络io和数据存储这两个模块是用的单线程,但是redis6.0网络io在io多路复用的基础上采取了多线程,因为网络io瓶颈导致redis的性能瓶颈。还有就是redis的数据结构都是经过特殊处理的,最简单的就是sds,动态字符串这个,相比于C语言的字符串多了几个free,length等。还有因为是单线程就避免了频繁的上下文切换。 好像我能想到的是这么多,应该还有其他的因素