一、TCP发送缓存区和接受缓冲区图解:
二、配置:
输入缓冲区不能指定容量,而输出缓冲区可以通过参数client-output-buffer-limit来指定容量。
三、会使redis输出缓冲区过大的场景:
1、piperline:批量发送命令
2、高并发下的monitor命令
四、输出缓冲区过大的危害:
输出缓冲区不受maxmemory的控制,假设一个Redis设置了maxmemory为4G,已经存储了2G数据,但是如果此时输出缓冲区使用了3GB,已经超过了maxmemeory限制,可能会产生数据丢失,键值淘汰,OOM等情况。
五、监控输出缓冲区异常的方法: