完整的原因有五个点
Redis的数据是基于内存存储的
读写操作也是基于内存,那性能当然高了。
Redis采用单线程处理请求
避免了多线程的竞争和上下文切换开销。
Redis内部使用了高效的数据结构
如哈希表、跳跃表等等,基于这些数据结构能实现快速的数据访问和操作。
Redis采用IO多路复用模型
能够同时处理大量连接请求,提高并发性能,当然这里说的并发是指处理客户端连接以及对连接的响应,内部命令执行还是单线程的。
Redis对常用命令操作进行了很多优化
如批量操作命令以及管道操作等,大大减少了网络通信的开销。 当然,对于以上回答里面的一些细节,面试官可能会深挖,比如跳跃表的实现,IO多路复用底层原理等。