java学习快到碗里来

Redis(一)特性

2020-10-19  本文已影响0人  我犟不过你

redis的特性

1、内存,快
2、单线程worker,io threads
3、连接多,epoll
4、kv模型,5种v
5、具有本地方法,计算向数据移动,io优化
6、串行化、原子: 相比于并行那个更优?

具有本地方法,计算向数据移动,io优化

memechache是kv模型,但是value的值只能是string类型的,当我们需要使用value的某个数据,需要将value全量取回,增加io成本(数据向计算移动)。
而redis提供5种value类型,并且具有本地方法,可以内部计算后,将数据直接返回给用户(计算向数据移动)。

redis串行化模型(redis版本6.x之前)

image.png

多个客户端client同时访问redis,redis首先会通过多路复用器epoll获取io事件,发现有数据要处理,然后第二步在此循环遍历的去读取数据,该过程串行化,读取数据后进行计算,同样是串行化。

如何发挥多核cpu的最大性能?io threads(redis版本6.x之后,默认未开启)##

单线程模型

上图为redis默认的单线程模型,看到处理两个客户端的请求需要6个时间片。

io threads

上图为io threads,多线程模型,在发生io时,通过多线程模式处理,发现总共需要4个时间片,在提高cpu利用率的同时,极大的提示redis的效率。

通过上面的介绍,应该能够说明redis的特性了,关于redis的io多线程模型,提供一个参考地址,本文不多做介绍。
https://blog.csdn.net/wsdc0521/article/details/106766587

上一篇下一篇

猜你喜欢

热点阅读