缓存存在的意义是为了减少后端的请求,减轻后端压力,一般页面的请求流程是这样的

请求流程

这里主要解决两个问题:

1.后端对浏览器缓存的指定

2.nginx启用缓存和清除缓存

浏览器缓存

在java后端的程序中也可以指定

1. 禁止缓存

public String page(HttpServletResponse response) {

response.setDateHeader("Expires", 0);

response.setHeader("Cache-Control", "no-cache, no-store");

response.setHeader("Pragma", "no-cache");

response.setDateHeader("Expires",-1);

return "page";

}

2.指定缓存问题

public void doGet(HttpServletRequest request, HttpServletResponse response) {

response.setContentType("text/html;charset=utf-8");

response.setDateHeader("Expires", System.currentTimeMillis() + 10000);

}

3.针对css和图片,默认是缓存的,只能通过链接加参数来避免缓存

nginx缓存

1.添加缓存模块

nginx默认是不缓存的,要想开启缓存,比如针对某个请求的缓存,或图片和css的缓存,得指定proxy_cache模块,这个模块是内置的,只需要做相应的配置就可以,如下,是针对一个/hello请求的配置

2.清除缓存

配置缓存时,默认会配置相应的过期时间,但一般我们有这种需要,就是不到过期时间时我们想清掉,针对这种常见的需求,nginx没有提供相应的官方模块,这时就需要第三方模块了,一般常用的第三方模块为proxy_cache_purge,git地址为

https://github.com/FRiCKLE/ngx_cache_purge

这个不提供windows版本,只有nginx版本,与nginx集成的时候要用/configure --add-module

编译安装,安装完成后在nginx.conf中做相应配置

这里的my_cache是上面配置的自己的缓存名称,要根据实际情况修改指定,

指定完成后重新启动nginx,如果要清除某个nginx缓存,可以在链接中添加purge例如

图片地址  http://localhost/a/a.img  清除图片地址  http://localhost/purge/a/a.img

手动访问下清除链接,就将缓存的内容清掉,下次访问时会请求服务器

nginx html页面缓存,页面缓存和nginx缓存相关推荐

  1. nginx缓存页面后,串会话问题的解决方案(转)

    为什么80%的码农都做不了架构师?>>>    nginx支持页面缓存,之前我的博客有介绍配置方案,昨天出了一个诡异的问题,别人的机器登录后,我的机器打开应用的首页会出现别人的用户信 ...

  2. openresty模板html页面,单页面部署去Html缓存 nginx/openresty

    单页面nginx/openresty部署,去除Html缓存问题(设置客户端不缓存): server { listen 80; server_name xxxx.com; # etag off; # 负 ...

  3. nginx+redis 实现 jsp页面缓存,提升系统吞吐率

    最近在开发的时候,发现之前APP客户端的一部分页面用的是webview交互,这些页面请求很多,打开一套试卷,将会产生100+的请求量,导致系统性能下降.于是考虑在最靠近客户端的Nginx服务器上做Re ...

  4. OpenResty实现LNMP的缓存前移(到达nginx前端层面)

    前言 我们都知道Nginx有很多的特性和好处,但是在Nginx上开发成了一个难题,Nginx模块需要用C开发,而且必须符合一系列复杂的规则,最重要的用C开发模块必须要熟悉Nginx的源代码,使得开发者 ...

  5. 编译安装nginx并实现反向代理负载均衡和缓存功能

    一.编译安装nginx 1.下载 [root@ns1 ~]# wget http://nginx.org/download/nginx-1.10.0.tar.gz 2.解压 [root@ns1 ~]# ...

  6. 编译安装nginx实现反向代理、负载均衡、缓存功能

    一.编译安装nginx 1.下载 [root@ns1 ~]# wget http://nginx.org/download/nginx-1.10.0.tar.gz 2.解压 [root@ns1 ~]# ...

  7. windows使用nginx+memcached实现负载均衡和session或者缓存共享

    windows使用nginx+memcached实现负载均衡和session或者缓存共享 两台server server1:115.29.186.215 windows2008 64位操作系统 ser ...

  8. nginx的防盗链,动静分离,缓存,负载均衡,反向代理

    1.防盗链有两种实现方式 第一种采用了URL重写模块 location ~.*\.(jpg|gif|png)$ {valid_referers none blocked *.demo.com demo ...

  9. Nginx一网打尽:动静分离、压缩、缓存、黑白名单、跨域、高可用、性能优化......

    干货!文章有点长,建议先收藏 引言 一.性能怪兽-Nginx概念深入浅出 二.Nginx环境搭建 三.Nginx反向代理-负载均衡 四.Nginx动静分离 五.Nginx资源压缩 六.Nginx缓冲区 ...

最新文章

  1. 计算机开启时提示键盘错误,电脑开机出现异常提示keyboard not found的故障原因及解决方法_电脑故障...
  2. 012_Vue计算属性
  3. 关于单CPU,多CPU上的原子操作
  4. Intel 64/x86_64/IA-32/x86处理器 - 通用指令(1) - 数据传输指令
  5. 《废柴》系列 - What?废柴,你不会下载Google浏览器插件,Are you kidding???
  6. android 加密显示银行卡号,Android银行卡输入框与卡号显示
  7. cms查询系统(二)json形式参数的设计与解析
  8. Mongodb中 Documents文档说明
  9. GET 和 POST 有什么区别?
  10. Debian和Ubuntu版本比较
  11. linux怎么保存7天内文件,Linux七天系列(第七天)—文件系统管理
  12. 基于WFP的windows驱动对TCP数据的抓取,修改以及注意事项
  13. 相对路径与绝对路径的写法
  14. PoseCNN: A Convolutional Neural Network for 6D Object Pose Estimation in Cluttered Scenes—2017(笔记)
  15. 【对软件项目的一些理解】多维团队分工合作模式
  16. 学习使用solr时遇到的一些问题,记录
  17. [1.24] T3-人品问题
  18. 属性和方法的区别是什么_痤疮和痘痘有什么区别?长痘痘之后3种护肤方法,痤疮3种治疗方式...
  19. 数组大小分配(动态内存分配)
  20. 苹果手机html吊起拍照,苹果手机拍照教程,教你如何用iPhone拍出大片

热门文章

  1. python time计时_python中的计时器timeit的使用方法
  2. c语言实现简单的多子棋游戏
  3. 【前端安全】Cookies
  4. 央视投拍李小龙跟踪报道2)—— 南方都市报:央视能拍好《李小龙传》吗?
  5. vim 复制粘贴 详解
  6. 毕设-校园二手交易平台
  7. vue.draggable拖拽生成课程表
  8. PHP分布式部署代码同步Git实现
  9. 百度无人驾驶汽车上路 安全系数究竟有多高
  10. 六大设计原则SOLID