В настоящее время у меня есть метод, который делает вставку в базу данных, используя метод хранилища Jooq.Каждый раз, когда запись сохраняется, она добавляется в локальный кеш, который в основном представляет собой карту с идентификатором, который приходит спереди (который мне нужно сохранить для последующего использования), и идентификатором, который создается при сохранении.Итак, в основном:
private Map<String, Integer> cache = new HashMap<>();
public insert(List<Customer> customers>{
//some code to convert Customer to jooq generated CustomerRecord,
//which implements UpdatableRecord from Jooq
record.store();
cache.put(record.getFrontId(), record.getId());
}
public int find(String frontId) { return cache.get(frontId); }
В настоящее время все это работает, но управление всем этим требует больших усилий.Как использовать такое кэширование с Spring @Cacheable?Я никогда не использовал его, но я пытался добавить @CacheEvict(value="customer", key="#frontId")
в метод find, но, конечно, кеш пуст, когда он вызывается.