У меня есть API для получения всех автомобилей в виде списка json
@Cacheable(value = "cars")
@Override
public List<CarData> getAllCars()
{
return carRepository.findAll();
}
Приведенный выше код кэширует весь результат как SimpleKey [].Но когда я сохраняю новую машину, используя @CachePut, она переходит к отдельной записи с ключом в качестве идентификатора.
фактический ответ API в виде списка json
Ниже приводитсякод для сохранения данных в redis с использованием @ Cacheput
@CachePut(value= "cars", key= "#carDto.id")
@Override
public carDto saveCar(Car carDto) {
представление ввода данных Redis
Итак, когда я сохраняю новые автомобили и снова вызываю API getAllCars (), список не обновляется.
Мое требование похоже на то, чтобы вместо создания SimpleKey [] и помещения в него всего результата, создавать идентификаторы в качестве ключей и сохранять по отдельности соответствующий элемент json, принадлежащий конкретному идентификатору.Таким образом, ожидаемый результат выглядит следующим образом:
Ожидаемый результат в виде отдельных идентификаторов в качестве ключей в redis
Где каждый идентификатор - это ключ, а значение этих ключей - соответствующий объект json.Может кто-нибудь подсказать, как разделить идентификаторы и создать индивидуальную запись в кеш из списка / массива json на лету.
Спасибо