本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
讀取和寫入資料至快取
本節假設您已建立 Amazon EC2執行個體,且可與其連線。如需如何執行此操作的指示,請參閱 Amazon EC2 入門指南
根據預設, 會在您的預設 中 ElastiCache 建立快取VPC。請確定您的EC2執行個體也在預設 中建立VPC,以便能夠連線至快取。
尋找您的快取端點
AWS Management Console
若要使用 ElastiCache 主控台尋找快取的端點:
登入 AWS Management Console 並在 開啟 Amazon ElastiCache 主控台https://console.aws.amazon.com/elasticache/
。 在主控台左側的導覽窗格中,選擇 Memcached 快取。
在控制台的右側,按一下您剛建立的快取名稱。
在快取詳細資訊中,尋找並複製快取端點。
AWS CLI
下列 AWS CLI 範例顯示 使用 describe-serverless-caches 命令尋找新快取的端點。執行命令後,查詢「端點」欄位。
Linux
aws elasticache describe-serverless-caches \ --serverless-cache-name CacheName
Windows
aws elasticache describe-serverless-caches ^ --serverless-cache-name CacheName
如需如何使用 Open 連線的資訊SSL,請參閱 ElastiCache 傳輸中加密 (TLS)
如需如何使用 Memcached Java 用戶端進行連線的詳細資訊,請參閱 ElastiCache 傳輸中加密 (TLS)
<?php $cluster_endpoint = "mycluster.serverless.use1.cache.amazonaws.com"; $server_port = 11211; /* Initialize a persistent Memcached client in TLS mode */ $tls_client = new Memcached('persistent-id'); $tls_client->addServer($cluster_endpoint, $server_port); if(!$tls_client->setOption(Memcached::OPT_USE_TLS, 1)) { echo $tls_client->getLastErrorMessage(), "\n"; exit(1); } $tls_config = new MemcachedTLSContextConfig(); $tls_config->hostname = '*.serverless.use1.cache.amazonaws.com'; $tls_config->skip_cert_verify = false; $tls_config->skip_hostname_verify = false; $tls_client->createAndSetTLSContext((array)$tls_config); /* store the data for 60 seconds in the cluster */ $tls_client->set('key', 'value', 60); ?>
請參閱 https://pymemcache.readthedocs.io/en/latest/getting_started.html
import ssl from pymemcache.client.base import Client context = ssl.create_default_context() cluster_endpoint = <To be taken from the AWS CLI / console> target_port = 11211 memcached_client = Client(("{cluster_endpoint}", target_port), tls_context=context) memcached_client.set("key", "value", expire=500, noreply=False) assert self.memcached_client.get("key").decode() == "value"
請參閱 https://github.com/electrode-io/memcache
透過 npm i memcache-client
進行安裝
在應用程式中,建立 Memcached TLS用戶端,如下所示:
var memcache = require("memcache-client"); const client = new memcache.MemcacheClient({server: "{cluster_endpoint}:11211", tls: {}}); client.set("key", "value");
請參閱 https://crates.io/crates/memcache
// create connection with to memcached server node: let client = memcache::connect("memcache+tls://<cluster_endpoint>:11211?verify_mode=none").unwrap(); // set a string value client.set("foo", "bar", 0).unwrap();
請參閱 https://github.com/bradfitz/gomemcache
c := New(net.JoinHostPort("{cluster_endpoint}", strconv.Itoa(port))) c.DialContext = func(ctx context.Context, network, addr string) (net.Conn, error) { var td tls.Dialer td.Config = &tls.Config{} return td.DialContext(ctx, network, addr) } foo := &Item{Key: "foo", Value: []byte("fooval"), Flags: 123} err := c.Set(foo)
請參閱 https://github.com/petergoldstein/dalli
require 'dalli' ssl_context = OpenSSL::SSL::SSLContext.new ssl_context.ssl_version = :SSLv23 ssl_context.verify_hostname = true ssl_context.verify_mode = OpenSSL::SSL::VERIFY_PEER client = Dalli::Client.new("<cluster_endpoint>:11211", :ssl_context => ssl_context); client.get("abc")
請參閱 https://github.com/cnblogs/EnyimMemcachedCore
"MemcachedClient": { "Servers": [ { "Address": "{cluster_endpoint}", "Port": 11211 } ], "UseSslStream": true }
現在您可以繼續進行 (選用) 清除。