Код: Выделить всё
@Cacheable(value = "bookings", keyGenerator = "userIdListKeyGenerator")
List findAllByUserIdsIn(List userIds) {
return _repository.findAllByUserIdsIn(userIds);
}
Предположим, мы сначала запрашиваем данные с помощью userIds = [1, 2, 3]. В этом случае Spring создаст в Redis пару ключ-значение, которая может выглядеть следующим образом:
Код: Выделить всё
user-ids-1,2,3 : [Booking(1), Booking(2), Booking(3)]
Код: Выделить всё
user-ids-2,3 : [Booking(2), Booking(3)]
Код: Выделить всё
user-id-1: Booking(1)
user-id-2: Booking(2)
user-id-3: Booking(3)
Хотя я мог бы реализовать свою собственную логику кэширования с помощью RedisTemplate, мне интересно, можно ли добиться такого поведения с помощью встроенной аннотации @Cacheable.>
Подробнее здесь: https://stackoverflow.com/questions/793 ... n-in-redis