1 背景
在软件开发中,为了提高性能,常常会使用缓存。缓存在性能优化中起着至关重要的作用。然而,有时候缓存数据可能导致无法获取最新数据的问题。通过实践经验,分享一些兼顾性能和数据实时性的处理方式。
2 实践
2.1 页面响应头使用ETag
ETag(实体标签)是HTTP协议中的一个字段,用于帮助服务器判断资源是否发生了变化。当客户端请求一个资源时,服务器会生成一个与该资源相关的唯一标识(ETag),并将其与响应一起发送给客户端。客户端在后续请求同一资源时,会将上次收到的ETag值发送给服务器,服务器通过比较这个值与当前资源的ETag值来判断资源是否发生了变化。如果ETag值相同,服务器会返回状态码304 Not Modified,告诉客户端可以使用缓存的版本;如果ETag值不同,服务器会返回最新的资源内容。ETag因此可以帮助减少不必要的数据传输,提高网络性能。
long lastModified = file.