

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

# Buat cache tanpa server Memcached
<a name="create-serverless-cache-mem"></a>

**Konsol Manajemen AWS**

Untuk membuat cache tanpa server Memcached baru menggunakan konsol: ElastiCache 

1. Masuk ke Konsol Manajemen AWS dan buka ElastiCache konsol di [https://console.aws.amazon.com/elasticache/](https://console.aws.amazon.com/elasticache/).

1. Di panel navigasi di sisi kiri konsol, pilih **Cache Memcached**.

1. Di bagian kanan konsol, pilih **Buat cache Memcached**.

1. Pada **Pengaturan cache**, masukkan **Nama**. Anda juga dapat memasukkan **deskripsi** untuk cache. 

1. Biarkan pengaturan default dipilih. 

1. Klik **Buat** untuk membuat cache. 

1. Setelah cache berada dalam status "AKTIF", Anda dapat mulai melakukan operasi pembacaan dan penulisan ke cache. 

Untuk membuat cache baru menggunakan AWS CLI

 AWS CLI Contoh berikut membuat cache baru menggunakan create-serverless-cache.

**Linux**

```
aws elasticache create-serverless-cache \
		--serverless-cache-name CacheName \
		--engine memcached
```

**Windows**

```
aws elasticache create-serverless-cache ^
		--serverless-cache-name CacheName ^
		--engine memcached
```

Perhatikan bahwa nilai bidang Status diatur ke `CREATING`.

Untuk memverifikasi bahwa ElastiCache telah selesai membuat cache, gunakan `describe-serverless-caches` perintah.

**Linux**

```
aws elasticache describe-serverless-caches --serverless-cache-name CacheName
```

**Windows**

```
aws elasticache describe-serverless-caches --serverless-cache-name CacheName
```

Setelah membuat cache baru, lanjutkan ke [Membaca dan menulis data ke cache](read-write-cache-mem.md).

# Membaca dan menulis data ke cache
<a name="read-write-cache-mem"></a>

Bagian ini mengasumsikan bahwa Anda telah membuat EC2 instance Amazon dan dapat terhubung dengannya. Untuk petunjuk tentang cara melakukannya, lihat [Panduan EC2 Memulai Amazon](https://aws.amazon.com/ec2/getting-started/). 

Secara default, ElastiCache buat cache di VPC default Anda. Pastikan EC2 instance Anda juga dibuat di VPC default, sehingga dapat terhubung ke cache. 

**Menemukan titik akhir cache Anda**

**Konsol Manajemen AWS**

Untuk menemukan titik akhir cache Anda menggunakan ElastiCache konsol:

1. Masuk ke Konsol Manajemen AWS dan buka ElastiCache konsol Amazon di [https://console.aws.amazon.com/elasticache/](https://console.aws.amazon.com/elasticache/). 

1. Di panel navigasi di sisi kiri konsol, pilih **Cache Memcached**.

1. Di sisi kanan konsol, klik nama cache yang baru saja Anda buat. 

1. Dalam **Detail cache**, cari dan salin titik akhir cache. 

**AWS CLI**

AWS CLI Contoh berikut menunjukkan untuk menemukan titik akhir untuk cache baru Anda menggunakan describe-serverless-caches perintah. Setelah Anda menjalankan perintah, cari bidang "Titik Akhir". 

**Linux**

```
aws elasticache describe-serverless-caches \
		--serverless-cache-name CacheName
```

**Windows**

```
aws elasticache describe-serverless-caches ^
		--serverless-cache-name CacheName
```

## Menghubungkan menggunakan OpenSSL
<a name="w2aac14c21c41c29b1"></a>

 Untuk informasi tentang cara menghubungkan menggunakan OpenSSL, lihat [ElastiCache enkripsi dalam transit (TLS)](in-transit-encryption.md)

## Menghubungkan menggunakan klien Java Memcached
<a name="w2aac14c21c41c29b3"></a>

```
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.FailureMode;
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);
        // Set Failure Mode to Retry
        connectionFactoryBuilder.setFailureMode(FailureMode.Retry);
        MemcachedClient client = new MemcachedClient(connectionFactoryBuilder.build(), AddrUtil.getAddresses("mycluster-fnjyzo.serverless.use1.cache.amazonaws.com:11211"));

        // Store a data item for an hour.
        client.set("theKey", 3600, "This is the data value");
    }
}
```

## Menghubungkan menggunakan klien PHP Memcached
<a name="w2aac14c21c41c29b5"></a>

```
<?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);
?>
```

## Menghubungkan menggunakan klien Python Memcached (Pymemcache)
<a name="w2aac14c21c41c29b7"></a>

Lihat [https://pymemcache.readthedocs. io/en/latest/getting](https://pymemcache.readthedocs.io/en/latest/getting_started.html)\$1started.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"
```

## Connect menggunakan NodeJS/TS klien Memcached (Electrode-io memcache)
<a name="w2aac14c21c41c29b9"></a>

[Lihat [https://github.com/electrode-io/memcache dan https://www.npmjs.com/package/ memcache-client](https://github.com/electrode-io/memcache)](https://www.npmjs.com/package/memcache-client)

Instal melalui `npm i memcache-client`

Dalam aplikasi, buat klien TLS memcache sebagai berikut:

```
var memcache = require("memcache-client");
const client = new memcache.MemcacheClient({server: "{cluster_endpoint}:11211", tls: {}});
client.set("key", "value");
```

## Menghubungkan menggunakan klien Rust Memcached (rust-memcache)
<a name="w2aac14c21c41c29c11"></a>

Lihat [https://crates. io/crates/memcache](https://crates.io/crates/memcache)dan [https://github.com/aisk/rust-memcache](https://github.com/aisk/rust-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();
```

## Menghubungkan menggunakan klien Go Memcached (Gomemcache)
<a name="w2aac14c21c41c29c13"></a>

Lihat [https://github.com/bradfitz/gomemcache](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)
```

## Menghubungkan menggunakan klien Ruby Memcached (Dalli)
<a name="w2aac14c21c41c29c15"></a>

Lihat [https://github.com/petergoldstein/dalli](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")
```

## Connect menggunakan Memcached .NET client () EnyimMemcachedCore
<a name="w2aac14c21c41c29c17"></a>

Lihat [https://github.com/cnblogs/EnyimMemcachedCore](https://github.com/cnblogs/EnyimMemcachedCore)

```
"MemcachedClient": {
"Servers": [
{
"Address": "{cluster_endpoint}",
"Port": 11211
}
],
"UseSslStream":  true
}
```

Sekarang Anda dapat melanjutkan ke [(Opsional) Bersihkan](read-write-cleanup-mem.md).

# (Opsional) Bersihkan
<a name="read-write-cleanup-mem"></a>

**Menggunakan Konsol Manajemen AWS**

Prosedur berikut menghapus satu cache dari deployment Anda. Untuk menghapus beberapa cache, ulangi prosedur untuk setiap cache yang ingin dihapus. Anda tidak perlu menunggu satu cache selesai dihapus untuk memulai prosedur penghapusan cache lainnya.

**Untuk menghapus cache**

1. Masuk ke Konsol Manajemen AWS dan buka ElastiCache konsol Amazon di [https://console.aws.amazon.com/elasticache/](https://console.aws.amazon.com/elasticache/).

1. Di dasbor ElastiCache konsol, pilih mesin yang berjalan pada cache yang ingin Anda hapus. Daftar semua cache yang menjalankan mesin tersebut akan muncul.

1. Untuk memilih cache yang akan dihapus, pilih nama cache dari daftar cache.
**penting**  
 Anda hanya dapat menghapus satu cache pada satu waktu dari ElastiCache konsol. Memilih beberapa cache akan menonaktifkan operasi hapus.

1. Untuk **Tindakan**, pilih **Hapus**.

1. Pada layar konfirmasi **Hapus Cache**, pilih **Hapus** untuk menghapus cache, atau pilih **Batal** untuk mempertahankan klaster.

1. Jika Anda memilih **Hapus**, status cache berubah menjadi *menghapus*.

Setelah cache Anda masuk ke status **DELETING**, Anda tidak lagi dikenai biaya untuk itu.

**Menggunakan AWS CLI**

Kode berikut menghapus cache my-cache.

```
aws elasticache delete-serverless-cache --serverless-cache-name my-cache
```

Tindakan delete-serverless-cache CLI hanya menghapus satu cache tanpa server. Untuk menghapus beberapa cache, panggil delete-serverless-cache setiap cache tanpa server yang ingin Anda hapus. Anda tidak perlu menunggu satu cache nirserver selesai dihapus untuk menghapus cache yang lain.

**Untuk Linux, macOS, atau Unix:**

```
aws elasticache delete-serverless-cache \
		--serverless-cache-name my-cache
```

**Untuk Windows:**

```
aws elasticache delete-serverless-cache ^
		--serverless-cache-name my-cache
```

Untuk informasi selengkapnya, lihat ElastiCache topik AWS CLI untuk delete-serverless-cache.

Sekarang Anda dapat melanjutkan ke [Langkah Berikutnya](next-steps-mem.md).

# Langkah Berikutnya
<a name="next-steps-mem"></a>

Untuk informasi lebih lanjut tentang ElastiCache lihat:
+ [Bekerja dengan ElastiCache](WorkingWithElastiCache.md)
+ [Penskalaan ElastiCache](Scaling.md)
+ [Kuota untuk ElastiCache](quota-limits.md)
+ [ElastiCache praktik terbaik dan strategi caching](BestPractices.md)
+ [Melihat ElastiCache acara](ECEvents.Viewing.md)