Мы используем spring-data-redis 2.1.10 в нашем приложении и обнаружили, что при запуске «findById» во время процесса обновления ответ redis не найден.
В нашем приложении мы используем для обновления:
this.redisCrudRepository.save( data );
Этот пружинный метод проверяет, существуют ли данные, и производит обновление:
public <S extends T> S save(S entity) {
Assert.notNull(entity, "Entity must not be null!");
return this.entityInformation.isNew(entity) ? this.operations.insert(entity) : this.operations.update(this.entityInformation.getRequiredId(entity), entity);
}
И заканчивается метод put в классе RedisKeyValueAdapter, где есть :
indexWriter.deleteAndUpdateIndexes(key, rdo.getIndexedData());
Метод put удаляет данные и снова вставляет новые? Плохо ли мы используем spring-data-redis? Есть еще один способ обновления данных?