Redis(一)特性

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

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容