Redis面试题(2) :Redis与Memcache的区别,Redis多线程还是单线程

Redis与Mecache最显著的区别就是 Redis可以持久化存在磁盘上不管是RDB还是AOF,Mecache是一直放在内存中,内存释放就没了。Redis拥有丰富的数据类,同时还提供
String、List、Set、Hash、ZSet等数据结构的存储Redis是单线程,那面试官又问了,那为什么单线程为啥效率那么高?高峰期能达到每秒并发多少? Redis之所以采用单线程,首先它是基于内存,完全不依赖于CPU,不用去考虑各种锁的问题,不存在加锁释放锁操作,没有因为可能出现死锁而导致的性能消耗, 还有就是采用多路 I/O 复用模型,这里“多路”指的是多个网络连接,“复用”指的是复用同一个线程。采用多路 I/O 复用技术可以让单个线程高效的处理多个连接请求(尽量减少网络 IO 的时间消耗),且 Redis 在内存中操作数据的速度非常快,也就是说内存内的操作不会成为影响Redis性能的瓶颈,主要由以上几点造就了 Redis 具有很高的吞吐量。