PHP memcached持久化长链接的坑

2018-05-28

最近这个坑确实很坑。

使用memcached的时候如果在construct的时候传递入持久化id的话,记得addserver只能执行一次。
注意:是fpm进程生命周期内只执行一次,否则会导致客户端连接数爆增,直到挂掉。
为了防止这个问题需要在construct后执行getServerList确认目前是否已经addServer
如果getServerList已经存在数据了,就不需要添加
另外,如果config配置更新了,上面的代码因为判断了getServerList那么就不会更新!
这个问题是帅哥发现的。。。
如果fpm下,需要再判断下config是否有变化,如果有变化需要resetServerList,然后重新addServer