Primavera è un contenitore e un framework per lo sviluppo orientato agli aspetti e all'inserimento delle dipendenze leggero per Java. Riduce la complessità complessiva dello sviluppo J2EE e fornisce elevata coesione e accoppiamento libero. A causa dei vantaggi offerti da Spring, viene utilizzato da molti sviluppatori per la creazione di applicazioni da piccole a livello aziendale ad alto traffico.
Ma queste applicazioni Spring ad alto traffico devono affrontare un grave problema di scalabilità. Sebbene possano essere ridimensionati aggiungendo più server alla server farm delle applicazioni, il loro server di database non può ridimensionarsi allo stesso modo per gestire il carico di transazioni crescente. In tali situazioni, una cache distribuita Java è la soluzione migliore da gestire poiché scarica il database riducendo quei costosi viaggi del database e migliora anche le prestazioni dell'applicazione.
NCache Dettagli NCache Docs NCache Documenti di memorizzazione nella cache di primavera
Perché l'applicazione primaverile con NCache?
NCache, una cache distribuita in memoria ha implementato il provider Spring Caching introducendo un meccanismo di cache Java generico con il quale è possibile memorizzare facilmente nella cache l'output dei metodi dell'applicazione Spring ad alta intensità di CPU, dispendiosi in termini di tempo e legati al database. Questo approccio non solo riduce il carico del database, ma riduce anche il numero di esecuzioni di metodi e migliora le prestazioni dell'applicazione. In questo blog, parlerò ulteriormente di come configurare Spring Caching con NCache.
NCache Dettagli NCache come cache di dati di primavera Configura l'applicazione utilizzando NCache
Come configurare la memorizzazione nella cache di primavera da utilizzare NCache?
NCache fornisce supporto per la memorizzazione nella cache di Spring Provider di memorizzazione nella cache di primavera generico, Dove NCache funge da gestore della cache per la tua applicazione Spring e attraverso Fornitore di cache JCache, Dove NCache utilizza la funzionalità supportata di JCache. Segui semplicemente i passaggi indicati di seguito per entrambi i modi e configura NCache con la tua applicazione Spring.
Provider di memorizzazione nella cache di primavera generico
Per configurare la tua applicazione Spring con NCache Generic Spring Caching Provider, per prima cosa devi aggiungere il necessario Maven dipendenza quella primavera e NCache fornisce. Quindi, definisci i bean nella tua applicazione Spring tramite Definizione di bean basata su Java or Definizione di bean basata su XML.
Per definire i bean utilizzando la definizione basata su Java, è necessario aggiungere il file @Bean
annotazione nel CachingConfiguration
classe in cui il setConfigFile()
il metodo specificherà il percorso del tuo ncache-spring.xml
file, mostrato di seguito.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
@Configuration @EnableCaching public class CachingConfiguration { @Bean public CacheManager cacheManager() { SpringConfigurationManager springConfigurationManager = new SpringConfigurationManager(); URL resource = getClass().getClassLoader().getResource("ncache-spring.xml"); springConfigurationManager.setConfigFile(resource.getPath()); NCacheCacheManager cacheManager = new NCacheCacheManager(); cacheManager.setSpringConfigurationManager(springConfigurationManager); return cacheManager; } } |
Per definire i bean utilizzando la definizione basata su XML, è necessario aggiungere un file xml che abiliti la memorizzazione nella cache e specifichi NCache come gestore della cache. I tag bean devono essere definiti per entrambi cacheManager
ed NCacheConfigurationManager
. Inoltre springConfigurationManager
ed logFilePath
le proprietà devono essere specificate per cacheManager. Per maggiori dettagli su queste proprietà, fare riferimento al ns Documenti di memorizzazione nella cache di primavera.
NCache Cache Manager utilizza il ncache-spring.xml
file, in cui le cache devono essere configurate e definite con il proprio insieme di proprietà. Il codice di esempio è riportato di seguito.
1 2 3 4 5 |
<application-config default-cache-name="default"> <caches> <cache name="CustomerCollectionCache" ncache-instance="demoCache" priority="normal" expiration-type="absolute" expiration-period="10"/> </caches> </application-config> |
Provider di memorizzazione nella cache di primavera JCache
Spring supporta anche i provider di memorizzazione nella cache dei reclami JCache con cui puoi utilizzare JCache nella tua applicazione Spring NCache. Aggiungi la dipendenza Maven richiesta per Spring Framework o Spring Boot e NCache per l'integrazione. Quindi configura la tua cache per l'applicazione JCache Spring.
Puoi configurare la tua cache con i due modi ulteriormente spiegati. Uno è, puoi aggiungere spring.cache.cache-names
tag nel file application.properties
file. Il nome della cache dovrebbe essere lo stesso configurato in NCache Web Manager.
1 |
spring.cache.cache-names=demoCache,booksCache |
Altro è che puoi configurare la tua cache tramite il JCacheManagerCustomizer
classe che inizializza la cache in fase di esecuzione con la configurazione desiderata.
1 2 3 4 5 6 7 8 9 10 11 |
@Configuration public class CacheConfiguration implements JCacheManagerCustomizer { @Override public void customize(CacheManager cacheManager) { MutableConfiguration mutableConfiguration = new MutableConfiguration(); mutableConfiguration.setExpiryPolicyFactory(CreatedExpiryPolicy.factoryOf(Duration.ONE_MINUTE)); cacheManager.createCache("booksCache", mutableConfiguration); } } |
Identificare i metodi da memorizzare nella cache utilizzando la dichiarazione di memorizzazione nella cache
Dopo aver abilitato la memorizzazione nella cache attraverso entrambe le configurazioni definite sopra, il passaggio successivo è ora associare questi comportamenti di memorizzazione nella cache ai rispettivi metodi per poterli utilizzare NCache come fornitore di cache per la primavera.
Puoi associare i comportamenti di memorizzazione nella cache ai loro metodi in due modi. Uno è finito Annotazioni nella cache e l'altro è finito Caching dichiarativo basato su XML. Per avere una comprensione dettagliata, vai a Configura la dichiarazione di memorizzazione nella cache Spring Docs.
Codice di esempio seguente utilizzando l'annotazione @Cacheable per eseguire la memorizzazione nella cache sul servizio Web contenente la cache booksCache.
1 2 3 4 5 6 7 8 9 |
// BookService.java @Service public class BookService { @Cacheable("booksCache") public String getBookNameByIsbn(String isbn) { return findBookInSlowSource(isbn); } // further code } |
NCache Dettagli Documenti API JCache Ibernazione della cache
Conclusione!
Utilizzando NCache come fornitore di Spring Caching, puoi ridimensionare le tue applicazioni Spring in modo lineare e con prestazioni migliorate. Basta semplicemente modificare i file di configurazione e sei a posto! Quindi, scarica NCache ora e provalo tu stesso!