View a markdown version of this page

Verwenden des ElastiCache Cluster-Clients für Java - Amazon ElastiCache

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

Verwenden des ElastiCache Cluster-Clients für Java

Das folgende Programm zeigt, wie Sie den ElastiCache Cluster-Client verwenden, um eine Verbindung zu einem Cluster-Konfigurationsendpunkt herzustellen und dem Cache ein Datenelement hinzuzufügen. Mithilfe von Auto Discovery stellt das Programm eine Verbindung mit allen Knoten im Cluster her, ohne dass ein Eingreifen erforderlich ist.

package com.amazon.elasticache; import java.io.IOException; import java.net.InetSocketAddress; // Import the &AWS;-provided library with Auto Discovery support import net.spy.memcached.MemcachedClient; public class AutoDiscoveryDemo { public static void main(String[] args) throws IOException { String configEndpoint = "mycluster.fnjyzo.cfg.use1.cache.amazonaws.com"; Integer clusterPort = 11211; MemcachedClient client = new MemcachedClient( new InetSocketAddress(configEndpoint, clusterPort)); // The client will connect to the other cache nodes automatically. // Store a data item for an hour. // The client will decide which cache host will store this item. client.set("theKey", 3600, "This is the data value"); } }

ElastiCache Bei serverlosen Caches ist die Verschlüsselung während der Übertragung (TLS) immer aktiviert. Sie können TLS auch auf knotenbasierten Clustern aktivieren. Um eine Verbindung zu einem TLS-enabled Cache herzustellen, konfigurieren Sie den Client mit einem SSLContext, wie im folgenden Beispiel gezeigt.

Anmerkung

Die setSSLContext Methode ist nur im AWS Fork des spymemcached Clients verfügbar. Die Quelle finden Sie aws-elasticache-cluster-client-memcached-for-java auf der GitHub Website. Diese Methode ist nicht Teil der spymemcached Standard-Open-Source-Bibliothek.

import java.security.KeyStore; import javax.net.ssl.SSLContext; import javax.net.ssl.TrustManagerFactory; import net.spy.memcached.AddrUtil; import net.spy.memcached.ConnectionFactoryBuilder; import net.spy.memcached.MemcachedClient; public class TLSDemo { public static void main(String[] args) throws Exception { ConnectionFactoryBuilder connectionFactoryBuilder = new ConnectionFactoryBuilder(); // Build SSLContext TrustManagerFactory tmf = TrustManagerFactory.getInstance(TrustManagerFactory.getDefaultAlgorithm()); tmf.init((KeyStore) null); SSLContext sslContext = SSLContext.getInstance("TLS"); sslContext.init(null, tmf.getTrustManagers(), null); // Create the client in TLS mode connectionFactoryBuilder.setSSLContext(sslContext); MemcachedClient client = new MemcachedClient(connectionFactoryBuilder.build(), AddrUtil.getAddresses("mycluster.fnjyzo.cfg.use1.cache.amazonaws.com:11211")); // Store a data item for an hour. client.set("theKey", 3600, "This is the data value"); } }

Weitere Hinweise zur Verbindung mit TLS finden Sie unterErstellen eines TLS-Memcached-Clients mit Java. Verwenden Sie für einen serverlosen Cache den Serverless-Endpunkt des Caches auf Port 11211. Der serverlose Endpunkt enthält nicht „.cfg“ in der Adresse. Verwenden Sie für einen knotenbasierten Cluster mit aktiviertem TLS den Konfigurationsendpunkt, der „.cfg“ enthält.