nginx - 使用 nginx 缓存 GZIPed 内容
问题描述
我想知道 nginx 是否可以将 gzip 压缩的内容保存在缓存中,或者它一直 gzip 文件?
通过“保留缓存”,我的意思是内存或磁盘中的某些东西,在服务器端(没有浏览器缓存)。
sendfile
因为我看到静态压缩(开启)和使用 nginx gzip 模块(无法使用)之间存在巨大差异sendfile
。
解决方案
据我所知,Nginx 不会将 gzip 压缩的内容保存在内存中 - 在大多数情况下管理这样的缓存可能会使其更慢和更复杂,并且无助于 99% 的用例,因为 gzip 的开销通常很低。
我建议gzip_static
改用 - 如果您启用它,Nginx 会查找带有附加 .gz 结尾的请求文件并提供此文件而不是 gzip 本身,因此如果有人请求 bigfile.png 并且 Nginx 也看到有 bigfile.png.gz,它将 .gz 文件作为 gzip 提供,并且本身不进行计算。我将它用于所有可以提前准备好的资源(JS、CSS、图像、XML)。因为你只gzip一次,你也可以使用最高的压缩比。
推荐阅读
- c - 在 c 中定义函数和打印
- java - 多线程中的休眠异常 - 事务未成功启动
- c++ - 有效地从 32 位数据类型中删除 2 位
- c# - 将列表对象序列化为 XML 值异常:反映类型“..Otrx”时出现错误
- android - 将图像而不是字符串标题添加到 react-native-segmented-control-tab
- java - 如何从数据类调用 Kotlin copy() 到 java 类?
- php - 遍历 foreach 循环中的单个项目的问题
- python - 如何使用嵌套的 for 循环进行暴力破解组合 - Python
- c++ - 如何确定使用空大括号初始化程序调用的构造函数?
- java - 在运行 jar 时访问 jar 之外的 prop 文件