nginx.conf 部分内容:
proxy_temp_path /nginx/cache/temp; proxy_cache_path /nginx/cache/path levels=1:2 keys_zone=cache_test:2048m inactive=7d max_size=10g; ...... location ~ .(gif|jpg|jgep|png)$ { proxy_pass http://upstreams; proxy_ignore_headers X-Accel-Expires Expires Cache-Control Set-Cookie; proxy_cache cache_test; #设置缓存的key proxy_cache_key $host$uri$is_args$args; #设置状态码为200和304的响应可以进行缓存,并且缓存时间为1天 proxy_cache_valid 200 304 1d; expires 30d; }
nginx不缓存原因
默认情况下,nginx是否缓存是由nginx缓存服务器与源服务器共同决定的, 缓存服务器需要严格遵守源服务器响应的header来决定是否缓存以及缓存的时常。
header主要有如下:
Cache-control:no-cache、no-store
如果出现这两值,nginx缓存服务器是绝对不会缓存的
Expires:1980-01-01
如果出现日期比当前时间早,也不会缓存。
解决不缓存方案
2.1 方法一:
2.2 方法二:
nginx代理直接加上如下一句:
proxy_ignore_headers X-Accel-Expires Expires Cache-Control Set-Cookie;
总结
以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作能带来一定的帮助,如果有疑问大家可以留言交流。
本文向大家介绍Jquery $.getJSON 在IE下的缓存问题解决方法,包括了Jquery $.getJSON 在IE下的缓存问题解决方法的使用技巧和注意事项,需要的朋友参考一下 在工作中主页实现Ztree Ztree的数据是后台返回的JSON对象 因为树是固定的所以每次刷新树 $.getJSON 的url都是相同的 问题来了 我修改 或者 新增树节点 然后刷新tree IE竟然毫无变化 在其
主要内容:1 缓存穿透,1.1 什么是缓存穿透?,1.2 怎么解决,1.3 Bloom Filter布隆过滤器,2 缓存雪崩,3 缓存击穿,4 缓存预热,5 防止Redis宕机详细介绍了Redis的缓存穿透、缓存雪崩、缓存击穿等问题的概念与解决办法。 1 缓存穿透 1.1 什么是缓存穿透? 缓存穿透是指查询一个在缓存和数据库中一定不存在的数据,按照传统使用缓存流程:由于缓存不命中,接着查询数据库,但是数据库也无法查询出结果,因此也不会将空值写入到缓存中,这将会导致每个这样的查询都会去请求数据库,
本文向大家介绍基于vue中keep-alive缓存问题的解决方法,包括了基于vue中keep-alive缓存问题的解决方法的使用技巧和注意事项,需要的朋友参考一下 vue开发的时候,我们经常会有这样的需求:开发一个详细页面来展示商品的详细信息,根据列表页传入的id进行请求,拿到对应的数据进行渲染。 但是一般在路由上都会加上keep-alive保持数据的状态,除非强制无缓存刷新,这就导致第一次进入详
本文向大家介绍如何解决 Redis 缓存穿透和缓存雪崩问题?相关面试题,主要包含被问及如何解决 Redis 缓存穿透和缓存雪崩问题?时的应答技巧和注意事项,需要的朋友参考一下 缓存雪崩: 由于缓存层承载着大量请求,有效地 保护了存储层,但是如果缓存层由于某些原因不能提供服务,比如 Redis 节点挂掉了,热点 key 全部失效了,在这些情况下,所有的请求都会直接请求到数据库,可能会造成数据库宕机的
vue3不执行onload方法 下面是我的测试代码,mounted和nextTick总是前后脚一起打印出来,但onload不执行 我的需求是弄一个loading,所以需要监听页面是否完全加载完成关闭loading 会出现背景图还没渲染完成的情况
本文向大家介绍thinkPHP显示不出验证码的原因与解决方法分析,包括了thinkPHP显示不出验证码的原因与解决方法分析的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了thinkPHP显示不出验证码的原因与解决方法。分享给大家供大家参考,具体如下: 今天到公司,svn update代码后,在浏览器上输入域名后,在验证码那块显示不出,找了半个上午,后来仔细看了下apache的配置文件 原来