猿问

redis队列是不是线程?

redis队列是不是线程


噜噜哒
浏览 809回答 1
1回答

跃然一笑

队列跟线程没有一点关系,而且redis是单线程的,所以redis不会对每个队列开启一个线程。Redis为什么是单线程的?因为CPU不是Redis的瓶颈。Redis的瓶颈最有可能是机器内存或者网络带宽。既然单线程容易实现,而且CPU不会成为瓶颈,那就顺理成章地采用单线程的方案了。如果万一CPU成为你的Redis瓶颈了,或者,你就是不想让服务器其他核闲置,那怎么办?那也很简单,你多起几个Redis进程就好了。Redis是keyvalue数据库,又不是关系数据库,数据之间没有约束。只要客户端分清哪些key放在哪个Redis进程上就可以了。redis-cluster可以帮你做的更好。单线程可以处理高并发请求吗?当然可以了,Redis都实现了。(所以不需考虑并发安全性),其他模块仍用了多个线程。
随时随地看视频慕课网APP
我要回答