亚洲精品久久久中文字幕-亚洲精品久久片久久-亚洲精品久久青草-亚洲精品久久婷婷爱久久婷婷-亚洲精品久久午夜香蕉

您的位置:首頁技術文章
文章詳情頁

nginx緩存以及清除緩存的使用

瀏覽:7日期:2023-03-13 15:37:10
目錄
  • 緩存
  • 清除緩存
  • 控制nginx緩存

緩存

  • 緩存的基本思想是利用客戶端訪問的時間局限性,將客戶端訪問過的內容做一個副本,在一定時間內存放到本地,當改數據下次被訪問時,不必連接到后端服務器反復去查詢數據,而是由本地保存的副本響應數據。
  • 保存在本地的這些副本具有一個過期時間,超過該時間將會更新。判斷一個副本數據是否為過期數據的辦法有很多,可以使用保留時間來判斷,也可以使用數據完整度來判斷。
  • 許多Web服務器還具有校驗功能,就是當某些副本數據過期以后,先向后端服務器發送校驗請求,后端服務器對這些數據進行校驗,如果發現原數據和副本沒有差別,則將過期副本重新置為可用副本。

緩存的好處

  • 減輕服務器負載
  • 提供網頁響應效率
  • 降低網絡阻塞,增強網絡可擴展性

為什么使用緩存?

  • 服務器處理能力以及負載能力出現瓶頸,響應效率大大降低
  • 為了減少網絡傳輸延遲,提升響應效率
  • 能夠避免因為后端服務器出現異常以及網絡故障,客戶端請求數據副本能夠及時響應

nginx的緩存機制

proxy模塊指令

以上nginx配置結合使用:

http {  .  .  .  proxy_cache_path /cache/nginx levels=1:2 keys_zone=imooc_cache:10m max_size=5g inactive=60m use_temp_path=off;  .  .  .  server {    .    .    .    location /api/ {      proxy_cache imooc_cache;      proxy_pass 127.0.0.1:81/api/;      proxy_cache_valid 200 304 12h;      proxy_cache_valid any 10m;      proxy_cache_key $host$uri$is_args$args;      include proxy_params;    }  }}

proxy_params文件的配置如下:

proxy_set_header Host $http_host;proxy_set_header X-Real-IP $remote_addr;proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;proxy_connect_timeout 30;proxy_send_timeout 60;proxy_read_timeout 60;proxy_buffering on;proxy_buffer_size 32k;proxy_buffers 4 128k;

訪問一次頁面,并向 http://192.168.148.168:8000/api/ 發起一個接口數據請求,查看/cache/nginx目錄下的緩存結果:

[root@localhost 02]# cat 9563faff155b9fcfbf3fb1b16c253021 ?]n`?????????′m`?t> KEY: 192.168.148.170/api/index.phpHTTP/1.1 200 OKDate: Wed, 07 Apr 2021 13:34:55 GMTServer: Apache/2.4.46 (Unix) PHP/7.4.16X-Powered-By: PHP/7.4.16Content-Length: 31Connection: closeContent-Type: text/html; charset=UTF-8this is 192.168.148.170_php_new[root@localhost 02]# 

清除緩存

ngx_cache_purge是nginx的第三方模塊,能夠幫助我清除nginx中的緩存。

如果啟動了緩存,沒有安裝這個模塊(ngx_cache_purge),重啟nginx會出現異常:

2021/04/18 10:15:36 [emerg] 12180#0: unknown directive “proxy_cache_purge” in /vhost/test_170.cc.conf:20

這個異常是在指示我們,找不到該指令的驅動,需要按照相關模塊。

ngx_cache_purge只是nginx的第三方模塊,并不是某個特殊的軟件,所以我們需要對nginx重新進行編譯,操作如下:

./configure --sbin-path=/usr/local/nginx/nginx --conf-path=/usr/local/nginx/nginx.conf --pid-path=/usr/local/nginx/nginx.pid --with-http_gzip_static_module --with-http_stub_status_module --with-file-aio --with-http_realip_module --with-http_ssl_module --with-pcre=/home/pcre-8.44 --with-zlib=/home/zlib-1.2.11 --with-openssl=/home/openssl-1.1.1g --add-module=/home/ngx_cache_purge-2.3make -j2make install

配置nginx:

location ~ /clear_cache(.*) {     allow   all;     proxy_cache_purge imooc_cache $host$1$is_args$args;}

緩存清除測試
訪問:http://192.168.148.170:8000/clear_cache//api/index.php, 訪問這個鏈接將會清除接口:http://192.168.148.170:8000//api/index.php 的緩存數據。

成功清除緩存返回結果如下

沒有緩存返回結果如下

控制nginx緩存

proxy_no_cache

# set 指令為變量設置,proxy_no_cache參數中的值可以設置多個,但是多個值中,只要有一個是不為0的,就會通過緩存響應數據server{    .    .    .    location /api/ {       set $a 0; #設置初始值       if ( $request_uri ~ /api/noapi/(.*) ){   set $a 1; #如果滿足不緩存 設置為1       }       proxy_no_cache $a;//       .       .       .    }    location ~ /clear_cache(.*) { allow   all; proxy_cache_purge imooc_cache $host$1$is_args$args;    }}

到此這篇關于nginx緩存以及清除緩存的使用的文章就介紹到這了,更多相關nginx緩存及清除緩存內容請搜索以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持!

標簽: Nginx
主站蜘蛛池模板: 欧美日韩不卡视频一区二区三区 | 特黄特色视频 | 天天影视色香欲综合网天天录日日录 | 99xxoo视频在线永久免费观看 | 国产成人精品男人免费 | 午夜影皖普通区 | 免费看一级a一片毛片 | 久久精品国产91久久麻豆自制 | 日本 亚洲 欧美 | 国产在线一区二区三区四区 | 国产不卡毛片 | 青青草国产免费一区二区 | 成人免费毛片一区二区三区 | 欧美激情婷婷 | 成人黄色网 | 精品视频99 | 成人亚洲欧美日韩在线观看 | 国产视频综合 | 日本一级毛片免费看 | 国产黄色片在线看 | 黄色免费三级 | 亚洲国产日韩在线观看 | 一级女人18毛片免费 | 美女性高潮视频 | 亚洲在线视频免费 | 国产一级黄色网 | 成人午夜免费观看 | 欧美精品国产日韩综合在线 | 香蕉视频在线免费 | 国产在线视频不卡 | 深夜免费福利视频在线播放 | 免费观看黄色一级片 | 国产欧美一区二区三区免费看 | 1024香蕉视频 | 欧美黄色三级 | 日本老妇成熟 | 亚洲一级毛片在线观播放 | 久久精品综合国产二区 | 免费一级特黄欧美大片久久网 | 51久久夜色精品国产 | 精品一区二区久久久久久久网精 |