Der Oracle Application Container Cloud Service bietet Caching-Funktionen.
Die Funktion ** Lokaler Cache ** ist verfügbar, um die Entwicklung dieser Cache-Funktion zu erleichtern.
Der vom Oracle Application Container Cloud Service bereitgestellte Anwendungscache ermittelt den Namen des laufenden Hosts aus der Umgebungsvariablen und verwendet ihn als Cache-Ziel. Um die Cache-Funktion verwenden zu können, ist es daher Voraussetzung, dass eine Anwendungscache-Instanz im Application Container Cloud Service erstellt und gestartet wurde.
Es ist unpraktisch, während der Entwicklung eine Remoteverbindung zum Testen und Debuggen herzustellen. Verwenden Sie daher die vom Application Cache Client bereitgestellte ** LocalCache ** -API.
LocalCache
LocalCache bietet eine API, die der API ähnelt, die bei Verwendung von Cache im eigentlichen Application Container Cloud Service verwendet wird.
Wie Sie dem obigen Klassendiagramm entnehmen können, erbt ** AbstractCache **, der die ** Cache-Schnittstelle ** implementiert, die abstrakte Klasse für ** REST ** -Verarbeitung, ** gRPC ** -Verarbeitung, ** lokal * * Jede Klasse für die Verarbeitung wurde erstellt.
RestCache / GrpcCahe
Der in "Ich habe versucht, die Cache-Funktion des Application Container Cloud Service zu verwenden" erstellte Cache hat den Typ ** REST ** in der Klasse ** Transport **. Es wurde angegeben. Es ist daher definiert als ** RestCache **.
cacheSession = sessionProvider.createSession(Transport.rest());
Wenn der angegebene Transporttyp ** gRPC ** ist, wird er als ** GrpcCache ** definiert.
Es gibt keinen Unterschied in den Grundfunktionen von "LocalCache", "RestCache" und "GrpcCache".
get(String key)
put(String key, V value, PutOption... options)
--Cash Updatereplace(String key, V value, ReplaceOption... options)
--Cache leerenremove(String key, RemoveOption... options)
Die folgenden Bibliotheken sind erforderlich, um die Java-API für Cache-Service-Clientanwendungen zu verwenden.
Erhalten von Maven durch Beschreiben der folgenden Abhängigkeiten:
<dependency>
<groupId>com.oracle.cloud.caching</groupId>
<artifactId>cache-client-api</artifactId>
<version>1.0.0</version>
</dependency>
Es ist praktisch, den Cache zu wechseln, der beim Ausführen im Application Container Cloud Service und in einer lokalen Umgebung verwendet wird. Verwenden Sie daher die Umgebungsvariable als Identifikationsinformation dafür, ob sie sich im Application Container Cloud Service oder in der lokalen Umgebung befindet.
In Application Container Cloud Servive wird der Verzeichnisname in der Umgebungsvariablen ** APP_HOME ** als Information über den Speicherort registriert, an dem die bereitgestellte Anwendungsdatei abgelegt wird. Daher werden wir das Vorhandensein oder Fehlen dieser Umgebungsvariablen verwenden, um den Umgebungsunterschied zu bestimmen.
Session cacheSession = new RemoteSessionProvider(CACHE_URL).createSession(Transport.rest());
Cache cache = cacheSession.getCache(CACHE_NAME, ValueType.of(String.class));
SessionProvider sessionProvider = System.getenv(APP_HOME_DIR) == null ? new LocalSessionProvider() : new RemoteSessionProvider(CACHE_URL);
Session cacheSession = new RemoteSessionProvider(CACHE_URL).createSession(Transport.rest());
Cache cache = cacheSession.getCache(CACHE_NAME, ValueType.of(String.class));
Der SessionProvider wird abhängig vom Vorhandensein oder Fehlen der Umgebungsvariablen umgeschaltet.
Bis ich die Existenz von LocalCache bemerkte, fragte ich mich, ob ich den Hostnamen, auf dem Application Cache ausgeführt wird, aus der Umgebung herausziehen und ihn entwickeln würde, während eine Remoteverbindung hergestellt wird. LocalCache hilft Ihnen, da Sie sich während der Entwicklung keine Gedanken über Remoteverbindungen machen müssen.
Recommended Posts