Hello!
2014-08-29 2:02 GMT-07:00 老王:
> 原来是数据过期没memcached清除了,但这样的话srcache_fetch就报错是不是有点不贴切?因为这只是缓存未命中,MISSING而已,不是错误。
>
srcache_fetch 子请求在找不到 key 时应当返回 404 错误码。ngx_memcached 和 ngx_memc
模块都是此种行为。而当 srcache_fetch 返回 404 时,是不会尝试解析 srcache_fetch
子请求的响应体,也就不会有那两条错误。而子请求是 200 状态码时,总是会尝试解析子请求的响应体,不过即使响应体格式非法,最终也是按
cache miss 来处理,并不会阻断主请求。
我在我本地使用 ngx_srcache 和 ngx_memc 无法在 key 自然过期时复现你看到的错误日志消息。
如果你确认不是此种问题,请提供一个最小化的完整的用例,以便我可以在我本地复现你看到的问题 :)
Regards,
-agentzh