CentOS LNMP环境常用缓存策略如下:
expires和Cache-Control指令设置长期缓存(如图片、CSS/JS文件缓存1-2年),并启用add_header显示缓存状态。proxy_cache模块缓存API响应,设置proxy_cache_valid控制不同状态码的缓存时间(如200状态码缓存5-10分钟),支持proxy_cache_use_stale在缓存更新时返回旧数据。proxy_cache_key自定义缓存键(如包含请求URI、参数),避免缓存冲突。opcache.enable=1、opcache.memory_consumption调整缓存大小。innodb_buffer_pool_preload预加载热点数据。proxy_cache_path /var/cache/nginx levels=1:2 keys_zone=my_cache:10m max_size=1g inactive=60m;
location / {
proxy_cache my_cache;
proxy_cache_valid 200 10m;
proxy_cache_key "$scheme$request_method$host$request_uri";
}
php-redis扩展,在PHP代码中使用$redis->set('key', 'value', 3600)存储缓存。以上策略可根据业务场景组合使用,优先缓存静态资源和热点数据,动态内容采用短缓存或条件缓存策略。