redis output buffer 设置太小导致oom

output buffer 是 redis为客户端配置的缓冲区,redis的每个连接都配有自己的缓冲区空间。

这个cliend包括

1 真正的客户端

2 slave

3 monitor

处理完请求后,redis会将响应数据复制到client的缓冲区,然后继续处理下一个请求。

如果输出缓冲区控制不好,占用过多内容,会造成系统崩溃。

对于不同的客户端来说,输出缓冲区的大小设置为:

1 真正的客户端,不设限制

2 slave,限制为256M。当缓冲区大小超过时,关闭连接。

3 Pub/Sub 客户端来说,大小限制是32m。当缓冲区大小超过时,关闭连接。

参考:https://cloud.tencent.com/developer/article/1082746

原文地址:https://www.cnblogs.com/mydesky2012/p/13566494.html