
正文
redis多少线程,redis到底是多线程还是单线程
提示:扫一扫查出行【扫一扫了解最新限行尾号】
复制提示
Redis是单线程的,Redis为什么这么快
1、因为Redis是基于内存的操作,CPU不是Redis的瓶颈,Redis的瓶颈最有可能是机器内存的大小或者网络带宽。既然单线程容易实现,而且CPU不会成为瓶颈,所以 Redis 是单线程的。
2、线程也不是影响吞吐量的重要因素。如第一点来说,一般情况下,程序处理内存数据的速度远高于网卡接收的速度。使用线程好处是可以同时处理多条连接,在极端情况下,可能会提高响应速度。
3、因为单线程的原因,如果存在一个超大VALUE,比如20MB,则会因为这个请求卡住整个线程,导致后续的请求进不来,虽然后面的请求是能快速处理的小请求。redis中数据结构中算法的代价,有些结构在大数据量时,代价是很高的。
相关问答
Q1: redis处理客户端请求是用多线程方式处理的吗
1、单线程指的是网络请求模块使用了一个线程,其他模块用了多个线程。可能因为用了异步IO模型,单线程的效率已经足够高了。
2、redis本身是单线程的 ,只不过很多时候一台机器上会部署很多redis做集群。
3、redis不是单线程的,只是redis 执行命令是单线程的。
Q2: Redis是单线程吗?
redis不是单线程的,只是redis 执行命令是单线程的。
Redis采用的是基于内存的采用的是单进程单线程模型的KV数据库,由C语言编写。官方提供的数据是可以达到100000+的qps。这个数据不比采用单进程多线程的同样基于内存的KV数据库Memcached差。
redis是基于内存的,内存的读写速度非常快;redis是单线程的,省去了很多上下文切换线程的时间;redis使用多路复用技术,可以处理并发的连接。非阻塞IO内部实现采用epoll,采用了epoll+自己实现的简单的事件框架。
单线程指的是网络请求模块使用了一个线程,其他模块用了多个线程。可能因为用了异步IO模型,单线程的效率已经足够高了。
MongoDB不多说,不是一个类型的东西,Redis相对Memcached来说功能和特性上的优势已经很明显了。而对于性能,Redis作者的说法是平均到单个核上的性能,在单条数据不大的情况下Redis更好。
redis多少线程的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于redis到底是多线程还是单线程、redis多少线程的信息别忘了在本站进行查找喔。







