nginx的缓存和gzip

nginx的缓存

缓存的基本思想是利用客户端访问的时间局限性,将客户端访问过的内容做一个副本,在一定时间内存放到本地,当改数据下次被访问时,不必连接到后端服务器反复去查询数据,而是由本地保存的副本响应数据。
保存在本地的这些副本具有一个过期时间,超过该时间将会更新。判断一个副本数据是否为过期数据的办法有很多,可以使用保留时间来判断,也可以使用数据完整度来判断。

缓存的好处
  1. 减轻服务器负载
  2. 提供网页响应效率
  3. 降低网络阻塞,增强网络可扩展性
为什么使用缓存?
  1. 服务器处理能力以及负载能力出现瓶颈,响应效率大大降低

  2. 为了减少网络传输延迟,提升响应效率

  3. 能够避免因为后端服务器出现异常以及网络故障,客户端请求数据副本能够及时响应

    proxy_cache imooc_cache; #用于配置一块公用的内存区域的名称
    proxy_pass http://www.blogs-s.com:8080/api/; #代理的服务器
    proxy_cache_valid 200 304 12h; #针对不同的HTTP响应状态设置不同的缓存时间
    proxy_cache_valid any 10m;
    proxy_cache_key hosturiis_argsargs; #用于设置Nginx服务器在内存中为缓存数据建立索引时使用的关键字
    include 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; #指定一个请求的缓冲大小以及数量

开启代理缓存**:**
复制代码
location ^~ /abc {
proxy_cache cache_one;
proxy_pass http://larave.xym/;
proxy_cache_valid 200 304 12h;
proxy_cache_valid any 10m;
proxy_cache_key $host$uri$is_args$args;
}

客户端缓存一般指的是 浏览器缓存、 app 缓存 等等,目的就是 加速各种静态资源的访问 ,降低服务器压力。


Nginx的gzip

Gzip 是一种流行的文件压缩算法,现在的应用十分广泛,尤其是在 Linux 平台。当应用Gzip 压缩到一个纯文本文件时,效果是非常明显的,大约可以减少70%以上的文件大小。这取决于文件中的内容。


Gzip on;
Gzip_min_length 1024;
Gzip_buffers 4 16k;
Gzip_comp_level 2;
Gzip_types text/plain application/x-javascript text/css application/xml;
Gzip_vary on;
Gunzip_static on;

相关推荐
程序员阿鹏6 小时前
如何实现MySQL分库分表?
数据结构·数据库·sql·mysql·缓存
爱和冰阔落6 小时前
【Linux】条件变量为什么必须配合互斥锁:从 pthread_cond_wait 到阻塞队列
linux·运维·c++·缓存·中间件·安卓
wdfk_prog7 小时前
VMware Ubuntu 虚拟机从 124 GB 压缩到 33 GB
运维·缓存·docker·容器
刃神太酷啦9 小时前
Redis 核心进阶:哨兵、集群、缓存问题与分布式锁详解----《Hello Redis!》(6)
linux·c语言·数据库·c++·redis·分布式·缓存
名字还没想好☜10 小时前
Python 的 __call__ 实战:让实例像函数一样被调用,做带状态计数器、缓存器与可配置策略
开发语言·后端·python·缓存·编程语言
像风一样自由202012 小时前
29.Redis在大模型应用中有哪些用途缓存会话与限流
数据库·人工智能·redis·缓存·大模型·milvus·智能体
九皇叔叔20 小时前
【第二章】Redis基础入门:Redis是什么、为什么快以及核心特性详解
数据库·redis·缓存
敲代码的嘎仔1 天前
用 Redis 合并写 + DelayQueue 延迟检测,把视频播放进度写库频率降到 1/60
java·开发语言·数据库·redis·缓存·音视频·高并发
程序猿乐锅1 天前
【黑马点评 | 第一篇】从 Session 到 Redis+Token 的改造与拦截器实现
数据库·redis·缓存
野生技术架构师1 天前
Redis Hot Key 与 Big Key:危害、发现与解决方案
数据库·redis·缓存