redis キャッシュを使用して、スプリング ブートで @Cacheable をどの位置で使用できますか?どの方法でも使用できますか?
public UserDTO findByUserID(Long userID) {
User user = findUser(userID);
if (user != null) {
Password password = findPassword(userID);
return userMapper.mapToDTO(user, password);
}
return null;
}
private Password findPassword(Long userID) {
Password password = passwordRepository.findPasswordBasedOnUserID(userID);
return password;
}
@Cacheable("users")
private User findUser(Long userID) {
User user = userRepository.findByUserID(userID);
return user;
}
findByUserID は明らかにエンティティではない DTO を返すため、メソッド findUser でそれを使用しました。それを取り除くために、ドメインを返す 2 つのメソッドを作成しましたが、問題は、それが保存されていないか、redis キャッシュを使用していないことです。問題または解決策は?