作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我使用 Spring boot 和 Ehcache 来缓存应用程序中的一些数据。该应用程序是一个休息服务,缓存一些使用率较高的数据。
我们 Controller 中的代码如下所示:
@Cacheable("CategoryModels")
@GetMapping("/category/{companyId}")
public List<CategoryViewModel> getAllCategories(@PathVariable(value = "companyId", required = true) long companyId,
@RequestHeader("user") String user) {
//custom code here
}
现在,在某些情况下,用户会从服务器获取不同的数据集。有人可以在上述情况下解释一下吗?
如果数据库中的数据发生更改,我会刷新缓存,程序会自动将更新的数据更新到
为了刷新缓存,我使用自定义的编写方法:
Cache categoryCache = (Cache) manager.getCache("CategoryModels").getNativeCache();
categoryCache.removeAll();
categoryController.getAllCategories(company.getCompanyId(), null);
我对其他缓存有相同的行为,这些缓存的使用和刷新方式与上述缓存的使用方式相同。
最佳答案
您应该尝试使用以下方式参数化您的缓存定义:
@Cacheable(value="CategoryModels", key="{ #root.methodName, #companyId, #user.id }")
关于java - Spring boot @Cacheble 与 Ehcache,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51703253/
我想在没有参数的方法上添加 @Cacheable 注释。在这种情况下,我按如下方式使用@Cacheable @Cacheable(value="usercache", key = "mykey") p
我使用 Spring boot 和 Ehcache 来缓存应用程序中的一些数据。该应用程序是一个休息服务,缓存一些使用率较高的数据。 我们 Controller 中的代码如下所示: @Cacheabl
我是一名优秀的程序员,十分优秀!