View a markdown version of this page

Utilisation du client de ElastiCache cluster pour Java - Amazon ElastiCache

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Utilisation du client de ElastiCache cluster pour Java

Le programme ci-dessous montre comment utiliser le client de ElastiCache cluster pour se connecter à un point de terminaison de configuration de cluster et ajouter un élément de données au cache. L'utilisation de la découverte automatique permet au programme de connecter tous les nœuds du cluster sans aucune autre intervention.

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 Les caches sans serveur ont toujours activé le chiffrement en transit (TLS). Vous pouvez également activer le protocole TLS sur des clusters basés sur des nœuds. Pour vous connecter à un TLS-enabled cache, configurez le client avec un SSLContext comme illustré dans l'exemple suivant.

Note

La setSSLContext méthode n'est disponible que dans le AWS fork du spymemcached client. Pour la source, voir aws-elasticache-cluster-client-memcached-for-java sur le GitHub site Web. Cette méthode ne fait pas partie de la spymemcached bibliothèque open source standard.

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"); } }

Pour plus d'informations sur la connexion à l'aide du protocole TLS, consultezCréation d'un client Memcached en mode TLS avec Java. Pour un cache sans serveur, utilisez le point de terminaison sans serveur du cache sur le port 11211. Le point de terminaison Serverless ne contient pas « .cfg » dans l'adresse. Pour un cluster basé sur des nœuds avec TLS activé, utilisez le point de terminaison de configuration qui contient « .cfg ».