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中混合使用這些層,因爲它增加了不必要的複雜性。 –