Redis6 该如何了解 多线程中的 多
Redis 作为 NoSQL 的典型代表,不时是以复线程性能高著称,然而在 Redis 6 中,官网推出了多线程的性能,那么,Redis6 的多线程究竟该如何了解?为什么官网要引进多线程呢?这篇文章,我们来聊一聊。
引入背景
Redis 在早期版本中是复线程的,这象征着一切的命令处置、网络 I/O 和数据存储操作都在一个线程中口头。只管 Redis 的复线程模型在大少数状况下表现良好,但在处置高并发衔接和少量的网络 I/O 操作时,复线程模型或者会成为瓶颈。
因此,引入背景重要可以演绎为以下三点:
上班原理
Redis 6 引入了多线程允许,用于处置网络 I/O 操作,而外围的数据操作依然是在复线程中启动的。这种设计的好处是:
在多线程形式下,Redis 的上班流程如下:
上方把 Redis 复线程和多线程模型整顿成上方两张图片:
如何经常使用多线程?
Redis 6 的多线程性能自动是封锁的,要启用 Redis 6 的多线程性能,须要在 Redis 性能文件中启动设置。
修正性能文件步骤:
iothreadsreads:设置为 以启用多线程读取。 iothreads:指定要经常使用的 线程数量。
示例性能:
# 启用多线程读取iothreadsreads yes# 设置 线程数量,例如 个线程iothreads
性能成功后,重启 Redis 主机以使性能失效。
留意事项
总结
经过本文的剖析,我们可以知道 Redis 6 引入了多线程性能,重要目标是为了提高网络 I/O 的处置效率,从而优化全体性能,而关于读写命令,Redis 依然经常使用原来的复线程来处置。
因此,Redis 6 多线程中的多,指的是I/O 的多线程,而读写命令依然是复线程。在实践消费中要不要开启该性能,须要依据实践状况而定。