#java #spring #caching
#java #spring #кэширование
Вопрос:
У меня есть компонент Spring, в котором есть пара средств поиска с одинаковой подписью, например:
@Cacheable
public Player findById(int id) {
// query player by id
return player;
}
@Cacheable
public Player findByRank(int rank) {
// query player by rank
return player;
}
Аннотация @Cacheable рассматривает оба метода одинаково, поэтому это приводит к беспорядку в кэше. Есть ли способ сообщить Spring, что ключи для этих методов не совпадают?
Ответ №1:
Может быть, вы можете попробовать это? Не уверен, работает ли это..
@Cacheable(value = "playerId")
public Player findById(int id) {
// query player by id
return player;
}
@Cacheable(value = "playerRank")
public Player findByRank(int rank) {
// query player by rank
return player;
}
Комментарии:
1. Да, это работает! Я надеялся на надежное решение, но на данный момент это решает проблему.