Caching con Spring
Caching con Spring: @Cacheable, @CacheEvict, @CachePut, CacheManager, provider (EhCache, Redis, Caffeine)
1Qual è il ruolo principale dell'annotazione @Cacheable in Spring?
Qual è il ruolo principale dell'annotazione @Cacheable in Spring?
Risposta
@Cacheable memorizza nella cache il risultato di un metodo per evitare esecuzioni ripetute con gli stessi parametri. Questo migliora notevolmente le prestazioni per operazioni costose come query al database o chiamate ad API esterne. Usa @Cacheable per metodi di lettura chiamati frequentemente con gli stessi argomenti per ridurre il carico sulle risorse.
2Quale annotazione è necessaria per abilitare il supporto al caching in un'applicazione Spring Boot?
Quale annotazione è necessaria per abilitare il supporto al caching in un'applicazione Spring Boot?
Risposta
@EnableCaching attiva il supporto al caching in Spring Boot e deve essere posta su una classe di configurazione (in genere la classe principale annotata con @SpringBootApplication). Senza questa annotazione, le annotazioni di cache come @Cacheable vengono ignorate. Spring Boot configura automaticamente un semplice CacheManager in memoria (ConcurrentMapCacheManager) se non ne è definito un altro.
3Qual è la differenza principale tra @Cacheable e @CachePut?
Qual è la differenza principale tra @Cacheable e @CachePut?
Risposta
@Cacheable salta l'esecuzione del metodo se il risultato è già in cache, mentre @CachePut esegue sempre il metodo e aggiorna la cache con il nuovo risultato. Usa @Cacheable per le letture (evitare calcoli ripetuti) e @CachePut per operazioni di aggiornamento che devono rinfrescare la cache senza saltare l'esecuzione del metodo.
Qual è il ruolo dell'annotazione @CacheEvict in Spring?
Quale CacheManager configura Spring Boot per impostazione predefinita se non ne è definito un altro?
+22 domande da colloquio
Altri argomenti di colloquio Spring Boot
Spring Core - IoC & DI
Spring Boot Auto-Configuration
Spring Boot Starters
Application Properties & YAML
Logging con SLF4J e Logback
Spring Boot DevTools
Spring MVC Basics
Spring REST Controllers
Request & Response Handling
Gestione delle eccezioni
Bean Validation
Fondamenti di Spring Data JPA
Entità JPA e relazioni
Query JPA
Spring Data Repositories
Fondamenti di Spring Security
Spring Boot Actuator
Test unitari con JUnit e Mockito
Testing in Spring Boot
Profiles e Environment
RestTemplate e WebClient
Async e Scheduling
Spring WebFlux (Reactive)
Transazioni Spring
Autenticazione e autorizzazione avanzate
JWT e sicurezza stateless
OAuth2 e Authorization Server
Spring Boot e Docker
Microservices con Spring
Spring Cloud Config
Ottimizzazione delle prestazioni
GraalVM Native Images
Padroneggia Spring Boot per il tuo prossimo colloquio
Accedi a tutte le domande, flashcards, test tecnici, esercizi di code review e simulatori di colloquio.
Inizia gratis