我正在使用 springboot 为后端服务 rest API 和 Angular7 为前端开发一个 Web 应用程序。
我的应用程序需要很长时间才能加载,因为它必须在服务器上执行大量处理,所以我决定通过存储缓存数据来提高性能,以便首先加载页面并最终在处理结束时更新数据。
这可行,但我遇到了一个问题:当我在 Angular 中更新数据时,这些数据通常保存在我的数据库中,但如果我更新页面,我看不到更改,因为浏览器继续访问旧的缓存数据而不是获取新的修改。
有没有办法在修改浏览器缓存中的某些数据时使其无效?
弹簧靴:
我的休息控制器端点类似于:
@GetMapping(value = "/users")
public Iterable<User> getAllUsers(HttpServletResponse response) {
response.setHeader("Cache-Control", "max-age=3600");
return this.userService.findAll());
}
我的服务:
@Cacheable("users")
public Iterable<User> findAll() {
return this.userRepository.findAll();
}
我的角度服务:
getUsers(): Observable<User[]> {
return this.http.get<User[]>(`<ip>' + '/users');
}
慕容森
函数式编程
相关分类