[JAVA] Ich habe versucht, die Cache-Funktion des Application Container Cloud Service zu verwenden

Der Oracle Application Container Cloud Service bietet Caching-Funktionen. Sie können dies verwenden, um Anwendungen zu gruppieren, den Datenbankzugriff zu ersetzen und vieles mehr.

Erläuterung

Die Caching-Funktionen von Oracle Application Container Cloud Service sind einfach zu verwenden. Das Erstellen eines Cache-Dienstes wird abgeschlossen, indem einfach die für den Cache verwendete Kapazität festgelegt wird.

Die folgenden zwei Methoden stehen zur Verfügung, um auf diese Cache-Funktion zuzugreifen.

** REST-API ** ist eine Methode zur direkten Verwendung der vom Cache-Service bereitgestellten REST-API mithilfe der REST-Client-API wie Jersey.

** Java API ** ist eine Methode zur Verwendung der API für den Cache-Service innerhalb der Anwendung unter Verwendung der von Oracle bereitgestellten Bibliothek. Die folgenden Schritte beschreiben diese Java-API-Methode.

Es ist ein benutzerfreundlicher Cache-Dienst, der jedoch die folgenden Verwendungsregeln hat:

Funktion

--Cache-Daten werden innerhalb der Cluster-Mitglieder repliziert ――Selbst wenn ein Cache beschädigt ist, kann er automatisch aus einem anderen Cache wiederhergestellt werden. --Daten werden auch dann gespeichert, wenn der Cache-Dienst neu gestartet wird

Annahme

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>

wie benutzt man

Die Verwendung wird im Folgenden anhand der Sitzungsaufbewahrungsmethode am Beispiel von HttpSession und Cache erläutert.

Für HttpSession

Wenn Sie HttpSession zum Abhalten einer Sitzung verwenden möchten, schreiben Sie normalerweise Code wie folgt:

Sitzungsobjekte abrufen und Daten festlegen

HttpSession session = request.getSession(true);
session.setAttribute("KEY", "1");

Sitzungsdaten abrufen

String value = (String) session.getAttribute("KEY");

Für Cache (com.oracle.cloud.cache.basic.Cache)

1. Initialisierung

Rufen Sie zuerst den Cache vom Cache-Dienst ab, und erstellen Sie den Cache, falls er nicht vorhanden ist.

import com.oracle.cloud.cache.basic.Cache;
import com.oracle.cloud.cache.basic.RemoteSessionProvider;
import com.oracle.cloud.cache.basic.Session;
import com.oracle.cloud.cache.basic.options.Transport;
import com.oracle.cloud.cache.basic.options.ValueType;

String CACHE_HOST = System.getenv("CACHING_INTERNAL_CACHE_URL");
String CACHE_URL = "http://" + CACHE_HOST + ":8080/ccs/";
String CACHE_NAME = "sample";

Session cacheSession = new RemoteSessionProvider(CACHE_URL).createSession(Transport.rest());
Cache cache = cacheSession.getCache(CACHE_NAME, ValueType.of(String.class));

Die URL des Cache-Dienstes wird aus der Umgebungsvariablen abgerufen. Die zu verwendende Umgebungsvariable ist ** CACHING_INTERNAL_CACHE_URL **. Verwenden Sie System.getenv (), um den Wert zu erhalten.

Sie können zwischen zwei Möglichkeiten wählen, um auf den Cache zuzugreifen:

Verwenden Sie ** Transport **, um die Einstellungen beim Erstellen eines Sitzungsobjekts wie folgt zu konfigurieren:

2. Cache-Vorgang

Hinzufügen / Referenzieren / Aktualisieren / Löschen von Daten zum Cache wie folgt

Beispiel für die Erstellung und Ausführung einer Anwendungscache-Umgebung

1. Erstellen eines Cache-Dienstes

1.1. Auswahl des Anwendungscaches

Wählen Sie ** Anwendungscache ** aus dem Menü.

1.2. Erstellen einer Cache-Dienstinstanz

Klicken Sie auf ** Instanz erstellen **.

1.3. Cache-Konfiguration und Kapazitätseinstellungen

--Basic: ** Nur ein ** Ein Container für den Cache wird erstellt. --Empfohlen: ** 3 oder mehr ** Cache-Container werden erstellt.

1.4. Bestätigungsbildschirm

1.5. Bildschirm erstellen

1.6 Abschluss der Erstellung des Cache-Dienstes

2. Stellen Sie die Beispielanwendung bereit

2.1. Anwendungsauswahl

Wählen Sie ** Anwendung ** aus dem Menü.

2.2 Anwendung bereitstellen

Klicken Sie auf ** Anwendung erstellen **.

2.3 Laufzeitauswahl

Wählen Sie ** Java SE **.

2.4. Auswählen der Anwendung, die bereitgestellt werden soll

Wählen Sie die von der folgenden URL heruntergeladene Anwendung aus :

Wählen Sie in den Auswahlmöglichkeiten am unteren Bildschirmrand den von Ihnen erstellten Cache-Dienst aus.

Klicken Sie auf ** Erstellen **.

3. Betrieb mit HttpSession

3.1. Zugriff auf Beispielanwendung

Klicken Sie auf die im Dashboard-Bildschirm angezeigte URL. Anwendungen, auf die über diese URL zugegriffen wird, verwenden HttpSession, um die Anzahl der Zugriffe zu zählen.

3.2. Erster Zugriff

3.3. Zweiter Zugriff

3.4 Dritter Zugriff

3.5 Neustart der Anwendung

Klicken Sie im Menü auf ** Neu starten **.

3.6 Vierter Zugriff nach Neustart

Die Sitzungsdaten bleiben nicht erhalten, daher wird die Sitzung durch einen Neustart initialisiert. Daher wird es erneut als ** Erster Zugriff ** angezeigt.

4. Betrieb mit Cache

4.1. Erster Zugriff

Greifen Sie als ** Cache ** auf das Kontextstammverzeichnis zu.

4.2. Zweiter Zugriff

4.3 Dritter Zugriff

4.4. Neustart der Anwendung

4.5 Vierter Zugriff nach Neustart

Informationen zur Zugriffsanzahl werden als Cache im Cache-Dienst gespeichert, sodass sie auch nach dem Neustart weiter hochgezählt werden.

5. Clustering mit Cache

5.1. Stellen Sie dieselbe Anwendung mit einem anderen Namen bereit

Benennen Sie dieselbe Anwendung um und stellen Sie sie bereit. Wählen Sie den Cache-Dienst wie im vorherigen Schritt aus.

5.2. Greifen Sie auf die Beispielanwendung zu

Greifen Sie auf die Anwendung zu, die den Cache ausführt.

5.3. Bestätigung des Clustering-Vorgangs über den Cache

Wir werden die Anzahl der Zugriffe jeder Anwendung teilen und jede aufzählen.

GitHub https://github.com/shinyay/oracle-accs-cache-api

Zusammenfassung

Vor dem Aufkommen der Cache-Funktion bestand die einzige Möglichkeit, Daten beizubehalten, darin, sie in einer Datenbank oder als Datei zu speichern. Daher ist es praktisch, die Cache-Funktion verwenden zu können. Außerdem hatte die Cache-Funktion beim ersten Erscheinen keine Java-API, aber ich denke, dass dies auch in Bezug auf die Codierung praktisch ist, da die Java-API jetzt bereitgestellt wird.

Recommended Posts

Ich habe versucht, die Cache-Funktion des Application Container Cloud Service zu verwenden
Ich habe versucht, die Cache-Funktion von Application Container Cloud Service in der lokalen Umgebung zu entwickeln
Ich habe versucht, die Server-Push-Funktion von Servlet 4.0 zu verwenden
Ich habe versucht, den Profiler von IntelliJ IDEA zu verwenden
Ich habe versucht, das Migration Toolkit für Anwendungsbinärdateien zu verwenden
[Rails] Ich habe versucht, die Anwendung zu löschen
Ich habe versucht, Pari GP Container zu verwenden
Ich habe versucht, Google HttpClient von Java zu verwenden
Ich habe versucht, die Asset-Management-Anwendung mit dem Emulator des verteilten Hauptbuchs Scalar DLT zu berühren
Ich habe den Ergebnis-Cache der Methode von JCache (Ehcache 3) feat. Guice leicht ausprobiert
[API] Ich habe versucht, die Postleitzahlensuch-API zu verwenden
Ich habe versucht, den KMS-Dienst (Key Management Service) von Alibaba Cloud zu verwenden
Ich habe versucht, Gson zu benutzen
05. Ich habe versucht, die Quelle von Spring Boot zu löschen
Ich habe versucht, die Kapazität von Spring Boot zu reduzieren
Ich habe den neuen Feature-Profiler von IntelliJ IDEA 2019.2 ausprobiert.
Ich habe versucht, TestNG zu verwenden
Ich habe versucht, Galasa zu benutzen
Ich habe versucht, den Mechanismus von Emscripten mit einem deutschen Löser zu untersuchen
Begrenzen Sie die Anzahl der Threads mithilfe des Java Executor Service
Ich habe versucht, die DB-Zugriffsanwendung unter IKS + Db2 in IBM Cloud auszuführen (6. Vorbereitung der DB-Zugriffsanwendung (Java)).
Ich habe versucht, die Beispielanwendung gemäß der Idee des Buches "Micro Service Architecture" in einen Mikrodienst zu verwandeln.
Ich habe versucht, die ähnliche Funktion durch asynchrone Kommunikation zu implementieren
Ich habe versucht, das GitHub-Repository als Bibliotheksserver zu verwenden
[Rails] Ich habe zum ersten Mal versucht, die button_to-Methode zu verwenden
Anleitung: Stellen Sie Ihre Anwendung mit dem Alibaba Cloud Toolkit-Plugin bereit
Ich habe versucht, die Grundlagen von Kotlin und Java zusammenzufassen
Ich habe JAX-RS ausprobiert und mir das Verfahren notiert
Ich habe die grundlegende Grammatik von Ruby kurz zusammengefasst
Ich habe versucht, die Umgebung nach und nach mit Docker aufzubauen
Ich habe versucht, eine Umgebung mit WSL2 + Docker + VSCode zu erstellen
Ich habe versucht, die CameraX-Bibliothek mit Android Java Fragment zu verwenden
Ich habe versucht, Azure Cloud-Init zu verwenden
Ich habe versucht, Apache Wicket zu verwenden
Ich habe versucht, Java REPL zu verwenden
Ich habe das FizzBuzz-Problem ausprobiert
Nachdem ich Progate gelernt hatte, versuchte ich, eine SNS-Anwendung mit Rails in der lokalen Umgebung zu erstellen
Ich habe versucht, das Problem der "mehrstufigen Auswahl" mit Ruby zu lösen
Mit der Gesichtserkennungsfunktion von Watson Visual Recognition habe ich versucht, ein Ganzkörperbild einer Person in ein Bild nur des Gesichtsteils zu verarbeiten
[Metall] Ich habe versucht, den Fluss bis zum Rendern mit Metall herauszufinden
Ich habe versucht, die Ajax-Verarbeitung der ähnlichen Funktion in Rails zu implementieren
Stellen Sie Ihre Anwendung mithilfe des Cloud Toolkit Maven-Plugins für EDAS bereit
Ich habe versucht, die Bildvorschau mit Rails / jQuery zu implementieren
Ich habe den Eingabe- / Ausgabetyp von Java Lambda ~ Map Edition ~ ausprobiert
Versuchen Sie es mit der Zweipunktmessfunktion von Firebase Performance Monitoring. [Android]
Ich habe mir die Ressourcen der Azure Container-Instanz angesehen
Ich habe versucht, eine einfache Anwendung mit Dockder + Rails Scaffold zu erstellen
Ich habe versucht, den Betrieb des gRPC-Servers mit grpcurl zu überprüfen
Ich habe versucht, die Methoden von Java String und StringBuilder zusammenzufassen
Ich habe versucht, den Kalender mit Java auf der Eclipse-Konsole anzuzeigen.