Heim  >  Artikel  >  Java  >  Verwendung von EhCache2 zum Caching in der Java-API-Entwicklung

Verwendung von EhCache2 zum Caching in der Java-API-Entwicklung

PHPz
PHPzOriginal
2023-06-18 08:40:09797Durchsuche

Mit der kontinuierlichen Weiterentwicklung von Anwendungen ist Caching zu einem wichtigen Bestandteil für die Gewährleistung der Stabilität der Systemleistung geworden. Bei der Entwicklung von Java-Anwendungen ist die Verwendung von EhCache2 zum Caching mittlerweile gängige Praxis. In diesem Artikel werden die grundlegenden Konzepte und die Verwendung von EhCache2 vorgestellt und anhand von Beispielcode demonstriert, wie EhCache2 für die Caching-Verarbeitung in der Java-API-Entwicklung verwendet wird.

Was ist EhCache2?

EhCache2 ist ein Open-Source-Java-Caching-Framework, das die Anwendungsleistung effektiv verbessern und den Druck auf Back-End-Datenbanken verringern kann. EhCache2 kann zum Zwischenspeichern verschiedener Datentypen wie Objekte, Datensätze, Dateien usw. verwendet werden. Es unterstützt nicht nur das Speicher-Caching, sondern schreibt auch zwischengespeicherte Daten zur Persistenz auf die Festplatte. Darüber hinaus bietet EhCache2 viele erweiterte Funktionen wie verteiltes Caching, Cache-Aufwärmen, Cache-Ablaufverarbeitung usw.

EhCache2 zum Caching verwenden

Es ist sehr einfach, EhCache2 zum Caching in der Java-API-Entwicklung zu verwenden. Zuerst müssen Sie die Abhängigkeit von EhCache2 zum Projekt hinzufügen:

<dependency>
    <groupId>org.ehcache</groupId>
    <artifactId>ehcache</artifactId>
    <version>3.8.1</version>
</dependency>

Als nächstes erstellen Sie die EhCache-Konfigurationsdatei ehcache.xml. Die Datei sollte sich im Klassenpfad des Projekts befinden und den folgenden Inhalt haben:

<ehcache xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:noNamespaceSchemaLocation="http://www.ehcache.org/ehcache.xsd"
         updateCheck="false">
 
    <cache name="myCache"
           maxEntriesLocalHeap="10000"
           eternal="false"
           timeToIdleSeconds="120"
           timeToLiveSeconds="120"
           diskSpoolBufferSizeMB="30"
           diskExpiryThreadIntervalSeconds="120"
           memoryStoreEvictionPolicy="LRU"
           statistics="true">
        <persistence strategy="localTempSwap"/>
    </cache>
 
</ehcache>

In dieser Konfigurationsdatei definieren wir einen Cache mit dem Namen „myCache“, der die folgenden Eigenschaften aufweist:

  • Die maximale Anzahl von In-Heap-Cache-Elementen ist 10000
  • Wenn auf das Element nicht innerhalb von 120 Sekunden zugegriffen wird, wird es automatisch entfernt.
  • Wenn das Element nicht innerhalb von 120 Sekunden aktualisiert wird, wird es automatisch entfernt.
  • Die Cache-Größe, wenn das Element auf die Festplatte geschrieben wird beträgt 30 MB.
  • Laufintervall für Festplattenbereinigungs-Thread. Aktivieren Sie die Cache-Statistiken für LRU
  • für 120 Sekunden.
  • Speicherbereinigungsrichtlinie.

Als Nächstes verwenden Sie EhCache2 für das Caching im Java-Code. Der Beispielcode lautet wie folgt:

public class MyService {
 
    private final Cache myCache;
 
    public MyService() {
        final CacheManager cacheManager = CacheManagerBuilder.newCacheManagerBuilder()
                .withCache("myCache",
                        CacheConfigurationBuilder.newCacheConfigurationBuilder()
                                .withExpiry(ExpiryPolicyBuilder.timeToLiveExpiration(Duration.ofSeconds(120)))
                                .withSize(10, EntryUnit.THOUSAND)
                                .build())
                .build(true);
 
        myCache = cacheManager.getCache("myCache", String.class, String.class);
    }
 
    public String getValue(String key) {
        String value = myCache.get(key);
        if (value == null) {
            value = fetchValueFromDatabase(key);
            myCache.put(key, value);
        }
        return value;
    }
 
    private String fetchValueFromDatabase(String key) {
        // 从数据库中获取值的逻辑
    }
 
}

In diesem Beispielcode erstellen wir eine Cache-Instanz mit dem Namen „myCache“. Wenn wir den dem Schlüssel entsprechenden Wert abrufen müssen, versuchen wir zunächst, ihn aus dem Cache abzurufen. Wenn der Wert nicht im Cache vorhanden ist, wird er aus der Datenbank abgerufen und in den Cache geschrieben.

Zusammenfassung

Dieser Artikel stellt kurz die Grundkonzepte und die Verwendung von EhCache2 vor und demonstriert anhand von Beispielcode, wie EhCache2 für die Caching-Verarbeitung in der Java-API-Entwicklung verwendet wird. In der tatsächlichen Entwicklung kann die Verwendung von EhCache2 zum Zwischenspeichern die Leistung und Zuverlässigkeit von Anwendungen effektiv verbessern und den Lastdruck auf die Back-End-Datenbank erheblich verringern.

Das obige ist der detaillierte Inhalt vonVerwendung von EhCache2 zum Caching in der Java-API-Entwicklung. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn