

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

# Dukungan memcached MySQL
<a name="Appendix.MySQL.Options.memcached"></a>

Amazon RDS mendukung penggunaan antarmuka `memcached` pada tabel InnoDB yang diperkenalkan di MySQL 5.6. API `memcached` memungkinkan aplikasi menggunakan tabel InnoDB dengan cara yang serupa dengan penyimpanan data nilai kunci NoSQL.

**catatan**  
Antarmuka memcached tidak lagi tersedia di MySQL 8.4. Saat Anda meng-upgrade instans DB Anda ke MySQL 8.4, Anda harus `memcached` menonaktifkan di grup opsi yang ada.

Antarmuka `memcached` adalah cache sederhana berbasis kunci. Aplikasi menggunakan `memcached` untuk menyisipkan, memanipulasi, dan mengambil pasangan data nilai kunci dari cache. MySQL 5.6 memperkenalkan plugin yang menerapkan layanan daemon yang mengekspos data dari tabel InnoDB melalui protokol `memcached`. Untuk informasi selengkapnya tentang plugin `memcached` MySQL, lihat [InnoDB integration with memcached](https://dev.mysql.com/doc/refman/8.0/en/innodb-memcached.html).

**Untuk mengaktifkan dukungan memcached instans DB RDS for MySQL**

1. Tentukan grup keamanan yang akan digunakan untuk mengontrol akses ke antarmuka `memcached`. Jika set aplikasi yang sudah menggunakan antarmuka SQL sama dengan yang akan mengakses antarmuka `memcached`, Anda dapat menggunakan grup keamanan VPC yang sudah ada yang digunakan oleh antarmuka SQL. Jika set aplikasi yang berbeda akan mengakses antarmuka `memcached`, tentukan VPC atau grup keamanan DB baru. Untuk informasi selengkapnya tentang cara mengelola grup keamanan, lihat [Mengontrol akses dengan grup keamanan](Overview.RDSSecurityGroups.md) 

1. Buat grup opsi DB kustom, dengan memilih MySQL sebagai jenis dan versi mesin. Untuk informasi selengkapnya tentang cara membuat grup opsi, lihat [Membuat grup opsi](USER_WorkingWithOptionGroups.md#USER_WorkingWithOptionGroups.Create).

1. Tambahkan opsi `MEMCACHED` untuk grup opsi. Tentukan port yang akan digunakan antarmuka `memcached`, dan grup keamanan yang akan digunakan untuk mengontrol akses ke antarmuka. Untuk informasi selengkapnya tentang cara menambahkan opsi, lihat [Menambahkan opsi ke grup opsi](USER_WorkingWithOptionGroups.md#USER_WorkingWithOptionGroups.AddOption).

1. Ubah pengaturan opsi untuk mengonfigurasi parameter `memcached`, jika perlu. Untuk informasi selengkapnya tentang cara mengubah pengaturan opsi, lihat [Memodifikasi pengaturan opsi](USER_WorkingWithOptionGroups.md#USER_WorkingWithOptionGroups.ModifyOption).

1. Terapkan grup opsi ke instans. Amazon RDS memungkinkan dukungan `memcached` untuk instans tersebut ketika grup opsi diterapkan:
   + Anda mengaktifkan dukungan `memcached` untuk instans baru dengan menentukan grup opsi kustom saat Anda meluncurkan instans. Untuk informasi selengkapnya tentang cara meluncurkan instans MySQL, lihat [Membuat instans DB Amazon RDS](USER_CreateDBInstance.md).
   + Anda mengaktifkan dukungan `memcached` untuk instans yang ada dengan menentukan grup opsi kustom saat Anda memodifikasi instans. Untuk informasi selengkapnya tentang cara memodifikasi instans DB, lihat [Memodifikasi instans DB Amazon RDS](Overview.DBInstance.Modifying.md).

1. Tentukan kolom mana dalam tabel MySQL Anda yang dapat diakses melalui antarmuka `memcached`. Plugin `memcached` membuat tabel katalog bernama `containers` dalam basis data khusus bernama `innodb_memcache`. Anda memasukkan baris ke tabel `containers` guna memetakan tabel InnoDB untuk akses melalui `memcached`. Anda menentukan kolom dalam tabel InnoDB yang digunakan untuk menyimpan nilai kunci `memcached`, dan satu atau lebih kolom yang digunakan untuk menyimpan nilai-nilai data yang terkait dengan kunci. Anda juga menentukan nama yang digunakan aplikasi `memcached` untuk merujuk ke set kolom tersebut. Untuk detail tentang cara menyisipkan baris ke dalam tabel `containers`, lihat [Internal plugin memcached InnoDB](https://dev.mysql.com/doc/refman/8.0/en/innodb-memcached-internals.html). Untuk contoh pemetaan tabel InnoDB dan cara mengaksesnya melalui `memcached`, lihat [Writing applications for the InnoDB memcached plugin](https://dev.mysql.com/doc/refman/8.0/en/innodb-memcached-developing.html).

1. Jika aplikasi yang mengakses `memcached` antarmuka berada di komputer atau EC2 instance yang berbeda dari aplikasi yang menggunakan antarmuka SQL, tambahkan informasi koneksi untuk komputer tersebut ke grup keamanan VPC yang terkait dengan instance MySQL. Untuk informasi selengkapnya tentang mengelola grup keamanan, lihat [Mengontrol akses dengan grup keamanan](Overview.RDSSecurityGroups.md).

Anda menonaktifkan dukungan `memcached` untuk instans dengan memodifikasi instans dan menentukan grup opsi default untuk versi MySQL. Untuk informasi selengkapnya tentang cara memodifikasi instans DB, lihat [Memodifikasi instans DB Amazon RDS](Overview.DBInstance.Modifying.md).

## Pertimbangan keamanan memcached MySQL
<a name="w2aac47c83c15c13"></a>

Protokol `memcached` tidak mendukung autentikasi pengguna. Untuk informasi selengkapnya tentang pertimbangan keamanan `memcached` MySQL, lihat [Security Considerations for the InnoDB memcached Plugin](https://dev.mysql.com/doc/refman/8.0/en/innodb-memcached-security.html) di dokumentasi MySQL.

Anda dapat mengambil tindakan berikut untuk membantu meningkatkan keamanan antarmuka `memcached`:
+ Tentukan port yang berbeda dengan default 11211 ketika menambahkan opsi `MEMCACHED` untuk grup opsi.
+ Pastikan Anda mengaitkan `memcached` antarmuka dengan grup keamanan VPC yang membatasi akses ke alamat dan instans klien yang diketahui dan EC2 tepercaya. Untuk informasi selengkapnya tentang cara mengelola grup keamanan, lihat [Mengontrol akses dengan grup keamanan](Overview.RDSSecurityGroups.md).

## Informasi koneksi memcached MySQL
<a name="w2aac47c83c15c15"></a>

Untuk mengakses antarmuka `memcached`, aplikasi harus menentukan nama DNS instans Amazon RDS dan nomor port `memcached`. Misalnya, jika suatu instans memiliki nama DNS `my-cache-instance.cg034hpkmmjt.region.rds.amazonaws.com` dan antarmuka memcached menggunakan port 11212, informasi koneksi yang ditentukan dalam PHP akan:

 

```
1. <?php
2. 
3. $cache = new Memcache;
4. $cache->connect('my-cache-instance.cg034hpkmmjt.region.rds.amazonaws.com',11212);
5. ?>
```

**Untuk menemukan nama DNS dan memcached port instans DB MySQL**

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

1. Di sudut kanan atas Konsol Manajemen AWS, pilih wilayah yang berisi instans DB.

1. Di panel navigasi, pilih **Basis data**.

1. Pilih nama instans DB MySQL untuk menampilkan detailnya.

1. Di bagian **Terhubung**, perhatikan nilai bidang **Titik Akhir**. Nama DNS sama dengan titik akhir. Perhatikan juga bahwa port di bagian **Terhubung** tidak digunakan untuk mengakses antarmuka `memcached`.

1. Di bagian **Detail**, perhatikan nama yang tercantum di kolom **Grup Opsi**.

1. Di panel navigasi, pilih **Grup opsi**.

1. Pilih nama grup opsi yang digunakan oleh instans DB MySQL untuk menampilkan detail grup opsi. Di bagian **Opsi**, perhatikan nilai pengaturan **Port** untuk opsi **MEMCACHED**.

## Pengaturan opsi memcached MySQL
<a name="w2aac47c83c15c17"></a>

Amazon RDS mengekspos parameter `memcached` MySQL sebagai pengaturan opsi di opsi `MEMCACHED` Amazon RDS.

### Parameter memcached MySQL
<a name="w2aac47c83c15c17b4"></a>
+  `DAEMON_MEMCACHED_R_BATCH_SIZE` – bilangan bulat yang menentukan jumlah operasi baca `memcached` (get) yang harus dilakukan sebelum melakukan COMMIT untuk memulai transaksi baru. Nilai yang diizinkan adalah 1 hingga 4294967295 dan default-nya adalah 1. Opsi tidak berlaku sampai instans dimulai ulang.
+  `DAEMON_MEMCACHED_W_BATCH_SIZE` – bilangan bulat yang menentukan berapa banyak operasi tulis `memcached`, seperti add, set, atau incr, yang harus dilakukan sebelum melakukan COMMIT untuk memulai transaksi baru. Nilai yang diizinkan adalah 1 hingga 4294967295 dan default-nya adalah 1. Opsi tidak berlaku sampai instans dimulai ulang.
+  `INNODB_API_BK_COMMIT_INTERVAL` – bilangan bulat yang menentukan seberapa sering penerapan commit otomatis koneksi idle yang menggunakan antarmuka `memcached` InnoDB. Nilai yang diizinkan adalah 1 hingga 1073741824 dan default-nya adalah 5. Opsi akan langsung diterapkan tanpa harus memulai ulang instans.
+  `INNODB_API_DISABLE_ROWLOCK` – Boolean yang menonaktifkan (1 (true)) atau mengaktifkan (0 (false)) penggunaan kunci baris saat menggunakan antarmuka `memcached` InnoDB. Default-nya adalah 0 (false). Opsi tidak berlaku sampai instans dimulai ulang.
+  `INNODB_API_ENABLE_MDL` – Boolean yang saat ditetapkan ke 0 (false) akan mengunci tabel yang digunakan oleh plugin `memcached` InnoDB, sehingga tidak dapat dihapus atau diubah oleh DDL melalui antarmuka SQL. Default-nya adalah 0 (false). Opsi tidak berlaku sampai instans dimulai ulang.
+  `INNODB_API_TRX_LEVEL` – bilangan bulat yang menentukan tingkat isolasi transaksi untuk kueri yang diproses oleh antarmuka `memcached`. Nilai yang diizinkan adalah 0 hingga 3. Default-nya adalah 0. Opsi tidak berlaku sampai instans dimulai ulang.

Amazon RDS mengonfigurasi parameter `memcached` MySQL berikut dan parameter ini tidak dapat dimodifikasi: `DAEMON_MEMCACHED_LIB_NAME`, `DAEMON_MEMCACHED_LIB_PATH`, dan `INNODB_API_ENABLE_BINLOG`. Parameter yang diatur administrator MySQL dengan menggunakan `daemon_memcached_options` yang tersedia sebagai pengaturan opsi `MEMCACHED` individu di Amazon RDS.

### Parameter daemon\$1memcached\$1options MySQL
<a name="w2aac47c83c15c17b6"></a>
+  `BINDING_PROTOCOL` – string yang menentukan protokol pengikatan yang akan digunakan. Nilai yang diizinkan adalah `auto`, `ascii`, atau `binary`. Default-nya adalah `auto`, yang berarti server menegosiasikan protokol secara otomatis dengan klien. Opsi tidak berlaku sampai instans dimulai ulang.
+  `BACKLOG_QUEUE_LIMIT` – bilangan bulat yang menentukan jumlah koneksi jaringan yang dapat menunggu untuk diproses oleh `memcached`. Meningkatkan batas ini dapat mengurangi kesalahan yang diterima oleh klien yang tidak dapat terhubung ke instans `memcached`, tetapi tidak meningkatkan performa server. Nilai yang diizinkan adalah 1 hingga 2048 dan default-nya adalah 1024. Opsi tidak berlaku sampai instans dimulai ulang.
+  `CAS_DISABLED` – Boolean yang mengaktifkan (1 (true)) atau menonaktifkan (0 (false)) penggunaan perbandingan dan pertukaran (CAS), yang mengurangi ukuran per item sebesar 8 byte. Default-nya adalah 0 (false). Opsi tidak berlaku sampai instans dimulai ulang.
+  `CHUNK_SIZE` – bilangan bulat yang menentukan ukuran potongan minimum, dalam byte, untuk mengalokasikan kunci, nilai, dan bendera item terkecil. Nilai yang diizinkan adalah 1 hingga 48. Default-nya adalah 48 dan Anda dapat meningkatkan efisiensi memori secara signifikan dengan nilai yang lebih rendah. Opsi tidak berlaku sampai instans dimulai ulang.
+  `CHUNK_SIZE_GROWTH_FACTOR` – bilangan desimal yang mengontrol ukuran potongan yang baru. Ukuran potongan baru adalah ukuran potongan sebelumnya dikalikan `CHUNK_SIZE_GROWTH_FACTOR`. Nilai yang diizinkan adalah 1 hingga 2, default-nya adalah 1,25. Opsi tidak berlaku sampai instans dimulai ulang.
+  `ERROR_ON_MEMORY_EXHAUSTED` – Boolean yang jika ditetapkan ke 1 (true) akan menentukan bahwa `memcached` akan menghasilkan kesalahan daripada mengosongkan item ketika tidak ada lagi memori untuk menyimpan item. Jika ditetapkan ke 0 (false), `memcached` akan mengosongkan item jika tidak ada lagi memori. Default-nya adalah 0 (false). Opsi tidak berlaku sampai instans dimulai ulang.
+  `MAX_SIMULTANEOUS_CONNECTIONS` – bilangan bulat yang menentukan jumlah maksimum koneksi serentak. Menetapkan nilai ini ke nilai di bawah 10 akan mencegah MySQL dimulai. Nilai yang diizinkan adalah 10 hingga 1024 dan default-nya adalah 1024. Opsi tidak berlaku sampai instans dimulai ulang.
+  `VERBOSITY` – string yang menentukan tingkat informasi yang dicatat dalam log kesalahan MySQL dengan layanan `memcached`. Default-nya adalah v. Opsi ini tidak berlaku hingga instans dimulai ulang. Nilai yang diizinkan adalah:
  +  `v` – Mencatat log kesalahan dan peringatan saat menjalankan loop peristiwa utama.
  +  `vv` – Selain informasi yang dicatat oleh v, nilai ini juga mencatat setiap perintah dan respons klien.
  +  `vvv` – Selain informasi yang dicatat oleh vv, nilai ini juga mencatat transisi keadaan internal.

Amazon RDS mengonfigurasi parameter `DAEMON_MEMCACHED_OPTIONS` MySQL berikut, dan bersifat tidak dapat dimodifikasi: `DAEMON_PROCESS`, `LARGE_MEMORY_PAGES`, `MAXIMUM_CORE_FILE_LIMIT`, `MAX_ITEM_SIZE`, `LOCK_DOWN_PAGE_MEMORY`, `MASK`, `IDFILE`, `REQUESTS_PER_EVENT`, `SOCKET`, dan `USER`.