中间件 - Redis - 基本原理 和 类型数据结构
redis的epoll为什么快
亲密度
一个机器如果有4颗cpu, redis的线程可以一直占用某颗cpu, 占用寄存器, l1,l2,l3里存的东西就不用经常切换, 达到最高速度
首先是BIO - 同步阻塞
为每个进来的连接请求, 都想创建一个线程去服务它
内存成本: JVM中可以配置线程栈的大小, 可以是1M, 也可以配置得更小些, 越小的话, 最大线程数量可以越多
cpu调度成本: 线程越多, 切换得就越频繁
每个线程都会有较长时间的阻塞, 拿着资源不干活
.
多路复用NIO(select/poll) 同步非阻塞
一个线程可以处理多个连接(文件描述符FD)