Redis高并发

Redis的高并发和快速原因

1.Redis基于内存,内存的读写速度非常快;

2.Redis是单线程的,为上下文切换线程节省了大量时间;

3.Redis使用多路复用技术来处理并发连接。 非阻塞IO的内部实现使用epoll,以及由epoll +本身实现的简单事件框架。 epoll中的读取,写入,关闭和连接都被转换为事件,然后使用epoll的多路复用功能从不浪费任何时间在io上。

Redis高并发总结

1.Redis是一个纯内存数据库,通常是一个简单的存取操作, 线程占用大量时间。 时间主要集中在IO上,因此读取速度很快。

2.谈到IO,Redis使用非阻塞IO,IO多路复用,使用单个线程轮询描述符,将数据库的开、关、读、写都转换成了事件,从而减少了线程切换上下文的切换和竞争。

3.Redis使用单线程模型来确保每个操作的原子性,并且还减少了线程上下文切换和竞争。

4.此外,数据结构也有很大帮助。 Redis在整个过程中都使用哈希(hash)结构,该结构易于读取。还有一些特殊的数据结构,对数据存储进行了优化,例如压缩表以及压缩和存储短数据。 比如,跳表,使用有序数据结构来加快读取速度。

5.还有一点,Redis使用其自己的事件分离器,这是相对有效的。 它在内部使用非阻塞执行方法,并且具有较大的吞吐量。