redis 的网络模型是基于 io 多路复用的,处理指令是单线程的。是否存在以下问题
1 、当程序中存在慢指令的时候,是不是处理连接的逻辑不会阻塞,即会建立非常多的连接,但是由于指令执行非常慢,所以指令相当于都已经在 redis 的队列里排队了
2 、根据目前的模型,是不是直接用多生产者->单消费者得模型,这样队列里放的应该是指令+channel,但是如何实现服务端 accept socket 后,把指令放入队列,然后阻塞当前连接,等待 channel 执行完,然后继续执行 response 逻辑
1 、当程序中存在慢指令的时候,是不是处理连接的逻辑不会阻塞,即会建立非常多的连接,但是由于指令执行非常慢,所以指令相当于都已经在 redis 的队列里排队了
2 、根据目前的模型,是不是直接用多生产者->单消费者得模型,这样队列里放的应该是指令+channel,但是如何实现服务端 accept socket 后,把指令放入队列,然后阻塞当前连接,等待 channel 执行完,然后继续执行 response 逻辑