2
- 我可以在RestController中的方法之上使用Spring缓存注释吗?
- 由于春季缓存是一个服务级缓存,但我有一个案件没有服务,所以我在控制器中使用缓存。
- 在控制器中使用缓存是否好用。
- 我使用cafeine作为我的底层缓存。
- 我在想,任何多线程问题可能发生在控制器级使用像这样的缓存。
我不会在涉及用户认证的spring控制器中使用cacheable(“something”),因为cacheable只保留参数。但是,如果您不需要缓存,则不会看到任何问题,具体取决于用户或任何请求标头信息。
例如,在下面的例子中,当你所得到的用户重新登录:
@RequestMapping(...)
@Cacheable("something")
public T analyze(@RequestParam(value = "text") String text) {
....
Object userObj =
SecurityContextHolder.getContext().getAuthentication().getPrincipal();
....
}
你可能在的情况选择要缓存取决于头部被添加@RequestHeader( value =“key”)字符串val在控制器方法中
为什么不提取任何您尝试缓存到服务层的内容?你不应该在Spring中混合使用这些层,因为它增加了不必要的复杂性。 –