CentOS JSP如何配置缓存策略
在CentOS上为JSP应用配置缓存策略需覆盖Web服务器、应用服务器和浏览器端。Tomcat通过ExpiresFilter缓存静态资源,动态内容禁用缓存或使用ETag。SpringBoot可用@Cacheable注解配合Caffeine等实现缓存。浏览器端依赖Cache-Control等响应头,需注意安全性与缓存一致性。
在CentOS上给JSP应用配置缓存策略,其实是个多层面的活儿——从Web服务器、应用服务器到浏览器端,每一层都得照顾到。下面分步来说,先看Tomcat这边怎么搞。

1. Web服务器(Apache Tomcat)缓存配置
a. 静态资源缓存
像CSS、Ja vaScript、图片这类静态文件,最直接的办法是改Tomcat的web.xml,通过MIME映射加上ExpiresFilter来设缓存头。比如图片缓存一个月,CSS和JS缓存一周——典型的折中方案,既减轻服务器压力,又能保证用户看到的不是万年旧版本。
css text/css
js application/ja vascript
jpg image/jpeg
png image/png
ExpiresFilter
org.apache.catalina.filters.ExpiresFilter
ExpiresByType image
access plus 1 month
ExpiresByType text/css
access plus 1 week
ExpiresByType application/ja vascript
access plus 1 week
ExpiresFilter
/*
b. 动态内容缓存
动态页面(比如JSP生成的报表)则正好相反——大部分场景下我们希望它“即查即走”,不让浏览器或袋里服务器随意缓存。简单做法就是在JSP页面上塞一段脚本,强制禁用缓存:
<%
response.setHeader("Cache-Control", "no-cache, no-store, must-revalidate"); // HTTP 1.1.
response.setHeader("Pragma", "no-cache"); // HTTP 1.0.
response.setDateHeader("Expires", 0); // Proxies.
%>
当然,如果某些动态接口数据不会频繁变化(比如配置字典),也可以有选择地开放缓存——但记得用ETag或版本号做校验,避免用户拿到脏数据。
2. 应用服务器缓存配置
项目用了Spring全家桶?那缓存这事就简单了。以Spring Boot为例,直接用@Cacheable注解标注服务层方法,后端可以挂Caffeine、Redis甚至Ehcache。代码看起来像这样:
@Service
public class MyService {
@Cacheable(value = "myCache", key = "#id")
public MyObject getObjectById(Long id) {
// 从数据库或其他数据源获取对象
return myObjectRepository.findById(id).orElse(null);
}
}
然后在application.yml里声明缓存类型和策略:
spring:
cache:
type: caffeine # 也能换成 redis、ehcache 等
这里有个细节:缓存粒度一定要把控好。曾经见过有人把整个用户列表都塞进缓存,结果数据更新后前端死活刷新不出来——得配合@CacheEvict适时清理。
3. 浏览器端缓存配置
浏览器端的缓存控制,说到底就是靠HTTP响应头里的Cache-Control、Expires和ETag。前面在Tomcat和Spring层设置的那些头,最终都会经过响应传递给浏览器。如果发现浏览器怎么都不肯用本地缓存,可以检查一下Nginx或Apache的反向袋里层是否覆盖了这些头——这坑踩过的人不少。
注意事项
- 安全性:用户信息、Token、支付接口等敏感数据绝对不要缓存。哪怕是设成
private的Cache-Control也不保险,最好直接禁掉。 - 一致性:资源更新后要让缓存及时失效。常用的手法是给静态资源加URL的版本号(比如
style.css?v=2),或者用ETag比对。 - 性能:缓存时间不是越长越好。设太短等于没缓存,设太长又可能导致用户看到过时内容。通常静态资源一周到一个月,动态数据看具体业务——几秒到几分钟都常见。
以上这些层面都配置到位了,CentOS上的JSP应用性能基本就稳了。真正上线前,别忘了用浏览器开发者工具或curl 检查一下实际响应头,确保每层都没有“打架”。
Windows 10 是一款微软推出的经典操作系统,拥有硬件兼容性与多任务处理能力。它更偏向把系统状态查看和常用调节动作放在一起,适合需要持续观察和微调设备状态的场景。
极度公式是一款跨平台专业LaTeX公式识别编辑软件,支持OCR公式识别和多平台编辑。和使用说明,避免使用,享受完整功能与稳定支持。做扫描整理、文字提取和表格转换时,它能把识别后的处理步骤接得更顺,资料录入这类场景会省下不少时间。
















