我有两种方法,第一种返回元素列表,第二种返回单个元素:
List<User> getUsersFromExternalSystem(List<Integer> userIds);
User getUserFromExternalSystem(Integer userId);
我希望Spring缓存这两个方法的结果,以便在调用元素列表方法(getUsersFromExternalSystem()
)时,它为提供的id(userIds
)以及当单元素方法(getUserFromExternalSystem()
)会使用先前提供给使用缓存的元素列表的ID进行调用。
我可以简单地将@Cacheable
应用于这些方法,然后(如果我理解正确的话)在我调用时:
getUsersFromExternalSystem(Arrays.asList(1,2))
结果将被缓存,但是当我致电
getUserFromExternalSystem(1);
将不使用缓存。春天该怎么办?