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)
存储缓存。以上策略可根据业务场景组合使用,优先缓存静态资源和热点数据,动态内容采用短缓存或条件缓存策略。