Feder ist ein leichter, abhängigkeitsinjizierter und aspektorientierter Entwicklungscontainer und Framework für Java. Es reduziert die Gesamtkomplexität der J2EE-Entwicklung und sorgt für hohe Kohäsion und lose Kopplung. Aufgrund der Vorteile, die Spring bietet, wird es von vielen Entwicklern für die Erstellung von Anwendungen mit hohem Datenverkehr für kleine bis große Unternehmen verwendet.
Diese Spring-Anwendungen mit hohem Datenverkehr stehen jedoch vor einem großen Skalierbarkeitsproblem. Sie können zwar skalieren, indem sie der Anwendungsserverfarm weitere Server hinzufügen, ihr Datenbankserver kann jedoch nicht auf die gleiche Weise skaliert werden, um die wachsende Transaktionslast zu bewältigen. In solchen Situationen ist ein verteilter Java-Cache die beste Wahl, da er Ihre Datenbank entlastet, indem er die teuren Datenbankfahrten reduziert und auch die Leistung Ihrer Anwendung verbessert.
NCache Details NCache Docs NCache Spring-Caching-Dokumentation
Warum Frühlingsanwendung mit NCache?
NCache, Ein verteilter In-Memory-Cache hat den Spring Caching-Anbieter implementiert, indem er einen generischen Java-Cache-Mechanismus eingeführt hat, mit dem Sie die Ausgabe Ihrer CPU-intensiven, zeitaufwändigen und datenbankgebundenen Methoden der Spring-Anwendung problemlos zwischenspeichern können. Dieser Ansatz reduziert nicht nur die Datenbanklast, sondern reduziert auch die Anzahl der Methodenausführungen und verbessert die Anwendungsleistung. In diesem Blog werde ich weiter darüber diskutieren, wie man Spring Caching konfiguriert NCache.
NCache Details NCache als Spring Data Cache Konfigurieren Sie die Anwendung mit NCache
So konfigurieren Sie die Verwendung von Spring Caching NCache?
NCache Bietet Spring-Caching-Unterstützung durch Allgemeiner Spring-Caching-Anbieter, Wobei NCache fungiert als Cache-Manager für Ihre Spring-Anwendung und darüber hinaus JCache-Caching-Anbieter, Wobei NCache nutzt die unterstützte Funktion von JCache. Befolgen Sie einfach die unten angegebenen Schritte für beide Möglichkeiten und konfigurieren Sie sie NCache mit Ihrer Frühjahrsbewerbung.
Allgemeiner Spring-Caching-Anbieter
Zum Konfigurieren Ihrer Spring-Anwendung mit NCache Generic Spring Caching Provider, zuerst müssen Sie die erforderlichen Elemente hinzufügen Maven-Abhängigkeit diesem Frühling und NCache bietet. Definieren Sie dann Beans in Ihrer Spring-Anwendung entweder bis Java-basierte Bean-Definition or XML-basierte Bean-Definition.
Zum Definieren von Beans mit Java-basierter Definition müssen Sie die hinzufügen @Bean
Anmerkung in der CachingConfiguration
Klasse wo die setConfigFile()
-Methode gibt den Pfad zu Ihrer an ncache-spring.xml
Datei, siehe unten.
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; } } |
Zum Definieren von Beans mit XML-basierter Definition müssen Sie eine XML-Datei hinzufügen, die das Caching ermöglicht und spezifiziert NCache als Cache-Manager. Für beide müssen Bean-Tags definiert werden cacheManager
und NCacheConfigurationManager
. Ebenfalls, springConfigurationManager
und logFilePath
Eigenschaften müssen für den CacheManager angegeben werden. Weitere Einzelheiten zu diesen Eigenschaften finden Sie in unserer Spring-Caching-Dokumentation.
NCache Cache Manager verwendet die ncache-spring.xml
Datei, in der Caches mit ihren eigenen Eigenschaften konfiguriert und definiert werden müssen. Beispielcode ist unten angegeben.
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> |
JCache Spring Caching-Anbieter
Spring unterstützt auch die JCache-Beschwerde-Caching-Anbieter, mit denen Sie JCache in Ihrer Spring-Anwendung verwenden können NCache. Fügen Sie die erforderliche Maven-Abhängigkeit für Spring Framework oder Spring Boot hinzu und NCache für die Integration. Konfigurieren Sie dann Ihren Cache für die JCache Spring-Anwendung.
Sie können Ihren Cache mit den im Folgenden erläuterten zwei Möglichkeiten konfigurieren. Eine davon ist, dass Sie hinzufügen können spring.cache.cache-names
Tag in der application.properties
Datei. Der Cache-Name sollte derselbe sein wie in konfiguriert NCache Web Manager.
1 |
spring.cache.cache-names=demoCache,booksCache |
Außerdem können Sie Ihren Cache über konfigurieren JCacheManagerCustomizer
Klasse, die den Cache zur Laufzeit mit der gewünschten Konfiguration initialisiert.
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); } } |
Identifizieren Sie Methoden, die zwischengespeichert werden müssen, mithilfe der Caching-Deklaration
Nachdem Sie das Caching durch beide oben definierten Konfigurationen aktiviert haben, besteht der nächste Schritt darin, diese Caching-Verhaltensweisen nun an ihre jeweiligen Methoden zu binden, um sie zu verwenden NCache als Caching-Provider für Spring.
Sie können Caching-Verhalten auf zwei Arten an ihre Methoden binden. Einer ist durch Caching von Anmerkungen und der andere ist durch Deklaratives XML-basiertes Caching. Um ein detailliertes Verständnis zu erhalten, gehen Sie zu Konfigurieren Sie die Spring-Dokumente zur Caching-Deklaration.
Folgender Beispielcode verwendet die Annotation @Cacheable, um das Caching für den Webdienst durchzuführen, der den Cache BooksCache enthält.
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 Details JCache-API-Dokumente Hibernate-Caching
Fazit!
Durch die Nutzung NCache Als Spring Caching-Anbieter können Sie Ihre Spring-Anwendungen linear und mit gesteigerter Leistung skalieren. Ändern Sie einfach Ihre Konfigurationsdateien und schon kann es losgehen! Also, herunterladen NCache jetzt und probiere es selbst aus!