sto usando la primavera-cache per migliorare le query di database, che funziona bene come segue:Come caricare @Cache all'avvio in primavera?
@Bean
public CacheManager cacheManager() {
return new ConcurrentMapCacheManager("books");
}
@Cacheable("books")
public Book getByIsbn(String isbn) {
return dao.findByIsbn(isbn);
}
Ma ora voglio precompilare il libro-cache piena all'avvio. Il che significa che voglio chiamare dao.findAll()
e inserire tutti i valori nella cache. Questa routine deve essere pianificata solo periodicamente.
Ma come è possibile popolare compilare una cache quando si utilizza @Cacheable
?
Sì, questa sarebbe un'opzione, MA molto pessima per le prestazioni poiché sto colpendo i n-tempi del DB durante l'avvio per ogni voce. Inoltre, è in qualche modo ridondante poiché ho già tutti i miei libri di findAll(). Quindi sto cercando un modo per ottenere questi libri nella cache senza un altro round di db. – membersound
Quindi può fare qualcosa come –
Modificato il soln di conseguenza. –