nginx下使用$upstream_cache_status来标记缓存命中状态

之前把blog改成前端nginx直接缓存一下页面时,没有注意有$upstream_cache_status这个变量可以直接获取到命中的状态。所有就用了另外的一点小方法来判断是否命中缓存。
[text]
map $upstream_addr $hitstatus {
default ‘cache’ ;
~unix ‘nocache’;
}
[/text]
基本的思路就是看$upstream_addr是否为空,如果是空的肯定是命中了缓存的,如果是匹配unix(我使用的是unix socket的形式)就是没有命中被转发到了后端php-fpm的。今天记得是有这个$upstream_cache_status变量了的就把配置文件修改了一下,直接使用$upstream_cache_status更简单和方便。
[text]
add_header Cache-status $upstream_cache_status;

[/text]

此条目发表在nginx分类目录。将固定链接加入收藏夹。

发表评论