

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

# Bagaimana cara ElastiCache kerja
<a name="WhatIs.corecomponents"></a>

Di sini Anda dapat menemukan ikhtisar komponen utama ElastiCache penerapan.

## Mesin cache dan caching
<a name="WhatIs.corecomponents.cache"></a>

Cache adalah penyimpanan data dalam memori yang dapat Anda gunakan untuk menyimpan data yang di-cache. Biasanya, aplikasi Anda akan menyimpan data yang sering diakses dalam cache untuk mengoptimalkan waktu respons. ElastiCache menawarkan dua opsi penerapan: cache tanpa server dan cluster berbasis node. Lihat [Memilih antara opsi deployment](WhatIs.deployment.md). 

**catatan**  
Amazon ElastiCache bekerja dengan mesin Valkey, Memcached, dan Redis OSS. Jika Anda tidak yakin mesin yang ingin digunakan, lihat [Membandingkan cluster Valkey, Memcached, dan Redis OSS berbasis node](SelectEngine.md) dalam panduan ini.

**Topics**
+ [Bagaimana cara ElastiCache kerja](#WhatIs.HowELCworks)
+ [Dimensi harga](#WhatIs.ELCpricing)
+ [ElastiCache cadangan](#WhatIs.corecomponents.backups-redis)

### Bagaimana cara ElastiCache kerja
<a name="WhatIs.HowELCworks"></a>

**ElastiCache Nirserver**

ElastiCache Tanpa server memungkinkan Anda membuat cache tanpa khawatir tentang perencanaan kapasitas, manajemen perangkat keras, atau desain cluster. Anda cukup memberikan nama untuk cache Anda dan Anda menerima satu titik akhir yang dapat Anda konfigurasi di klien Valkey, Memcached, Redis OSS Anda untuk mulai mengakses cache Anda.

**catatan**  
ElastiCache Tanpa server menjalankan Valkey, Memcached, atau Redis OSS dalam mode cluster dan hanya kompatibel dengan klien yang mendukung TLS. 

**Manfaat Utama**


+ **Tidak ada perencanaan kapasitas:** ElastiCache Tanpa server menghilangkan kebutuhan Anda untuk merencanakan kapasitas. ElastiCache Tanpa server terus memantau memori, komputasi, dan pemanfaatan bandwidth jaringan cache Anda dan menskalakan baik secara vertikal maupun horizontal. Hal ini memungkinkan simpul cache untuk tumbuh dalam ukuran, sekaligus secara paralel memulai operasi menskalakan ke luar untuk memastikan bahwa cache dapat diskalakan untuk memenuhi persyaratan aplikasi Anda setiap saat. 
+ **Pay-per-use:** Dengan ElastiCache Tanpa Server, Anda membayar untuk data yang disimpan dan menghitung yang digunakan oleh beban kerja Anda pada cache. Lihat [Dimensi harga](#WhatIs.ELCpricing).
+ **Ketersediaan tinggi:** ElastiCache Tanpa server secara otomatis mereplikasi data Anda di beberapa Availability Zone (AZ) untuk ketersediaan tinggi. Layanan ini secara otomatis memantau simpul cache yang mendasarinya dan menggantinya jika terjadi kegagalan. Hal ini menawarkan SLA ketersediaan 99,99% untuk setiap cache. 
+ **Upgrade perangkat lunak otomatis:** ElastiCache Tanpa server secara otomatis meningkatkan cache Anda ke versi perangkat lunak minor dan patch terbaru tanpa dampak ketersediaan apa pun pada aplikasi Anda. Ketika versi utama baru tersedia, ElastiCache akan mengirimkan pemberitahuan. 
+ **Keamanan:** Nirserver selalu mengenkripsi data bergerak dan diam. Anda dapat menggunakan kunci yang dikelola layanan atau menggunakan Kunci Dikelola Pelanggan Anda sendiri untuk mengenkripsi data diam. 

Diagram berikut menggambarkan bagaimana ElastiCache Serverless bekerja.

![\[Diagram operasi cache ElastiCache Tanpa Server, dari zona ketersediaan ke VPC Pelanggan dan kemudian ke VPC Layanan.\]](http://docs.aws.amazon.com/id_id/AmazonElastiCache/latest/dg/images/ELC-serverless-works1.png)


Saat Anda membuat cache tanpa server baru, ElastiCache buat Titik Akhir Virtual Private Cloud (VPC) Virtual Private Cloud (VPC) di subnet pilihan Anda di VPC Anda. Aplikasi Anda dapat terhubung ke cache melalui Titik Akhir VPC ini. 

Dengan ElastiCache Tanpa Server Anda menerima satu titik akhir DNS yang terhubung dengan aplikasi Anda. Saat Anda meminta koneksi baru ke titik akhir, ElastiCache Tanpa Server menangani semua koneksi cache melalui lapisan proxy. Lapisan proksi membantu mengurangi konfigurasi klien yang kompleks, karena klien tidak perlu menemukan kembali topologi klaster jika terjadi perubahan pada klaster yang mendasarinya. Lapisan proksi adalah sekumpulan simpul proksi yang menangani koneksi menggunakan penyeimbang beban jaringan. 

Saat aplikasi Anda membuat koneksi cache baru, permintaan dikirim ke simpul proksi oleh penyeimbang beban jaringan. Ketika aplikasi Anda mengeksekusi perintah cache, simpul proksi yang terhubung ke aplikasi Anda mengeksekusi permintaan di simpul cache di cache Anda. Lapisan proxy mengabstraksi topologi cluster dan node dari klien Anda. Hal ini memungkinkan ElastiCache untuk secara cerdas memuat keseimbangan, skala keluar dan menambahkan node cache baru, mengganti node cache ketika mereka gagal, dan memperbarui perangkat lunak pada node cache, semua tanpa dampak ketersediaan ke aplikasi Anda atau harus mengatur ulang koneksi. 

**Cluster berbasis simpul**

Anda dapat membuat ElastiCache cluster berbasis node dengan memilih keluarga node cache, ukuran, dan jumlah node untuk cluster Anda. Membuat cluster berbasis node memberi Anda kontrol berbutir lebih halus dan memungkinkan Anda memilih jumlah pecahan di cache Anda dan jumlah node (primer dan replika) di setiap pecahan. Anda dapat memilih untuk mengoperasikan Valkey atau Redis OSS dalam mode cluster dengan membuat cluster dengan beberapa pecahan, atau dalam mode non-cluster dengan pecahan tunggal. 

**Manfaat Utama**
+ **Buat cluster berbasis node:** Dengan ElastiCache, Anda dapat membuat cluster berbasis node dan memilih di mana Anda ingin menempatkan node cache Anda. Misalnya, jika Anda memiliki aplikasi yang ingin menukar ketersediaan tinggi dengan latensi rendah, Anda dapat memilih untuk menerapkan simpul cache Anda dalam satu AZ. Atau, Anda dapat membuat cluster berbasis node dengan node di beberapa AZs untuk mencapai ketersediaan tinggi. 
+ **Kontrol berbutir halus:** Saat membuat cluster berbasis simpul, Anda memiliki kontrol lebih besar untuk menyempurnakan pengaturan pada cache Anda. Misalnya, Anda dapat menggunakan [Parameter Valkey dan Redis OSS](ParameterGroups.Engine.md#ParameterGroups.Redis) atau [Parameter spesifik Memcached](ParameterGroups.Engine.md#ParameterGroups.Memcached) mengkonfigurasi mesin cache.
+ **Menskalakan secara vertikal dan horizontal:** Anda dapat memilih untuk menskalakan klaster Anda secara manual dengan menambah atau mengurangi ukuran simpul cache saat diperlukan. Anda juga dapat menskalakan secara horizontal dengan menambahkan serpihan baru atau menambahkan lebih banyak replika ke serpihan Anda. Anda juga dapat menggunakan fitur Auto-Scaling untuk mengonfigurasi penskalaan berdasarkan jadwal atau penskalaan berdasarkan metrik seperti penggunaan CPU dan Memori pada cache. 

Diagram berikut menggambarkan bagaimana cluster berbasis node bekerja ElastiCache .

![\[Diagram operasi cluster ElastiCache berbasis node, dari zona ketersediaan ke VPC Pelanggan dan kemudian ke node cache terkelola. ElastiCache\]](http://docs.aws.amazon.com/id_id/AmazonElastiCache/latest/dg/images/ELC-serverless-works2.png)


### Dimensi harga
<a name="WhatIs.ELCpricing"></a>

Anda dapat menerapkan ElastiCache dalam dua opsi penerapan. Saat menerapkan ElastiCache Tanpa Server, Anda membayar penggunaan untuk data yang disimpan dalam GB-jam dan menghitung di ElastiCache Unit Pemrosesan (ECPU). Saat membuat cluster berbasis node, Anda membayar per jam penggunaan node cache. Lihat detail harga [di sini](https://aws.amazon.com/elasticache/pricing/).

**Penyimpanan data**

Anda membayar data yang disimpan dalam ElastiCache Serverless yang ditagih dalam gigabyte-hours (GB-HRs). ElastiCache Tanpa server terus memantau data yang disimpan dalam cache Anda, mengambil sampel beberapa kali per menit, dan menghitung rata-rata per jam untuk menentukan penggunaan penyimpanan data cache dalam GB-jam. Setiap cache ElastiCache Tanpa Server diukur untuk minimal 1 GB data yang disimpan.

**ElastiCache Unit Pengolahan (ECPUs)**

Anda membayar permintaan yang dijalankan aplikasi Anda di ElastiCache Tanpa Server di Unit ElastiCache Pemrosesan (ECPUs), unit yang mencakup waktu vCPU dan data yang ditransfer. 
+ Bacaan dan penulisan sederhana membutuhkan 1 ECPU untuk setiap kilobyte (KB) data yang ditransfer. Misalnya, perintah GET yang mentransfer hingga 1 KB data mengonsumsi 1 ECPU. Permintaan SET yang mentransfer 3,2 KB data akan mengkonsumsi 3,2 ECPUs.
+ Dengan Valkey dan Redis OSS, perintah yang mengkonsumsi lebih banyak waktu vCPU dan mentransfer lebih banyak konsumsi data ECPUs berdasarkan yang lebih tinggi dari dua dimensi. Misalnya, jika aplikasi Anda menggunakan perintah HMGET, mengkonsumsi 3 kali waktu vCPU sebagai SET/GET perintah sederhana, dan mentransfer 3,2 KB data, itu akan mengkonsumsi 3,2 ECPU. Atau, jika mentransfer hanya 2 KB data, itu akan mengkonsumsi 3 ECPUs. 
+ Dengan Valkey dan Redis OSS, perintah yang membutuhkan waktu vCPU tambahan akan mengkonsumsi lebih banyak secara proporsional. ECPUs Misalnya, jika aplikasi Anda menggunakan perintah Valkey atau Redis OSS [HMGET, dan mengkonsumsi 3 kali waktu vCPU sebagai perintah](https://valkey.io/commands/hmget/) SET/GET sederhana, maka itu akan mengkonsumsi 3. ECPUs 
+ Dengan Memcached, perintah yang beroperasi pada beberapa item akan mengkonsumsi secara proporsional lebih banyak. ECPUs Misalnya, jika aplikasi Anda melakukan multiget pada 3 item, itu akan mengkonsumsi 3 ECPUs.
+ Dengan Memcached, perintah yang beroperasi pada lebih banyak item dan mentransfer lebih banyak data mengkonsumsi ECPUs berdasarkan yang lebih tinggi dari dua dimensi. Sebagai contoh, jika aplikasi Anda menggunakan perintah GET, mengambil 3 item, dan mentransfer 3,2 KB data, maka aplikasi tersebut akan menghabiskan 3,2 ECPU. Atau, jika mentransfer hanya 2 KB data, itu akan mengkonsumsi 3 ECPUs.

ElastiCache Tanpa server memancarkan metrik baru yang disebut `ElastiCacheProcessingUnits` yang membantu Anda memahami ECPUs konsumsi beban kerja Anda. 

**Jam simpul**

Anda dapat membuat cluster berbasis node dengan memilih keluarga EC2 node, ukuran, jumlah node, dan penempatan di seluruh Availability Zones. Saat membuat cluster berbasis node, Anda membayar per jam untuk setiap node cache. 

### ElastiCache cadangan
<a name="WhatIs.corecomponents.backups-redis"></a>

*Cadangan* adalah point-in-time salinan cache tanpa server, atau cluster berbasis node Valkey atau Redis OSS. ElastiCache memungkinkan Anda untuk mengambil cadangan data Anda kapan saja atau mengatur cadangan otomatis. Cadangan dapat digunakan untuk memulihkan cache yang sudah ada atau melakukan seeding cache baru. Cadangan terdiri dari semua data dalam cache ditambah beberapa metadata. Untuk mengetahui informasi selengkapnya, lihat [Melakukan snapshot dan pemulihan](backups.md).

# Memilih antara opsi deployment
<a name="WhatIs.deployment"></a>

Amazon ElastiCache memiliki dua opsi penerapan:
+ Caching nirserver
+ Cluster berbasis simpul

Untuk daftar perintah yang didukung untuk keduanya, lihat[Perintah Valkey, Memcached, dan Redis OSS yang didukung dan dibatasi](SupportedCommands.md).

**Caching nirserver**

Amazon ElastiCache Serverless menyederhanakan pembuatan cache dan menskalakan secara instan untuk mendukung aplikasi pelanggan yang paling menuntut. Dengan ElastiCache Tanpa Server, Anda dapat membuat cache yang sangat tersedia dan dapat diskalakan dalam waktu kurang dari satu menit, menghilangkan kebutuhan untuk menyediakan, merencanakan, dan mengelola kapasitas cluster. ElastiCache Tanpa server secara otomatis menyimpan data secara berlebihan di tiga Availability Zone dan menyediakan Perjanjian Tingkat Layanan (SLA) ketersediaan 99,99%. Cadangan dari cluster berbasis node Valkey atau Redis OSS dapat dikembalikan ke konfigurasi tanpa server.

**Cluster berbasis simpul**

Jika Anda memerlukan kontrol halus atas klaster Valkey, Memcached, atau Redis OSS Anda, Anda dapat membuat cluster berbasis node dengan. ElastiCache Anda memilih tipe node, jumlah node, dan penempatan node di seluruh AWS Availability Zones untuk klaster Anda. Karena ElastiCache merupakan layanan yang dikelola sepenuhnya, ini membantu mengelola penyediaan perangkat keras, pemantauan, penggantian node, dan penambalan perangkat lunak untuk cluster Anda. Cluster berbasis node dapat dirancang untuk menyediakan SLA ketersediaan hingga 99,99%. Cadangan dari cache Valkey atau Redis OSS tanpa server dapat dikembalikan ke cluster berbasis node.

**Memilih antara opsi deployment**

Pilih caching nirserver jika:
+ Anda membuat cache untuk beban kerja yang baru atau sulit diprediksi.
+ Anda memiliki lalu lintas aplikasi yang tak terduga.
+ Anda ingin cara termudah untuk memulai dengan cache.

Buat cluster berbasis node Anda sendiri jika:
+ Anda sudah menjalankan ElastiCache Serverless dan menginginkan kontrol yang lebih halus atas jenis node yang menjalankan Valkey, Memcached, atau Redis OSS, jumlah node, dan penempatan node tersebut. 
+ Anda mengharapkan lalu lintas aplikasi Anda relatif dapat diprediksi, dan Anda ingin kontrol yang baik atas kinerja, ketersediaan, dan biaya. 
+ Anda dapat memperkirakan persyaratan kapasitas Anda untuk mengontrol biaya.

## Membandingkan caching tanpa server dan cluster berbasis node
<a name="WhatIs.deployment.comparing"></a>


| Fitur | Caching nirserver | Cluster berbasis simpul | 
| --- | --- | --- | 
|  Pengaturan cache  |  Buat cache hanya dengan nama dalam waktu kurang dari satu menit  |  Memberikan kontrol berbutir halus atas desain cluster. Pengguna dapat memilih tipe node, jumlah node, dan penempatan di seluruh zona ketersediaan AWS  | 
|   ElastiCache Versi yang didukung  |  Valkey 7.2 dan lebih tinggi, Redis OSS versi 7.1 dan lebih tinggi, Memcached 1.6.21 dan lebih tinggi  |  Valkey 7.2 dan lebih tinggi, Redis OSS versi 4.0 dan lebih tinggi, Memcached 1.4 dan lebih tinggi  | 
|  Mode Cluster (Valkey dan Redis OSS)  |  Mengoperasikan mesin `cluster mode enabled` hanya di. Klien harus mendukung `cluster mode enabled` untuk terhubung ke Tanpa ElastiCache Server.  |  Dapat dikonfigurasi untuk beroperasi dalam mode cluster diaktifkan atau mode cluster dinonaktifkan.  | 
|  Penskalaan  |  Secara otomatis menskalakan mesin baik secara vertikal maupun horizontal tanpa manajemen kapasitas apa pun.  |  Memberikan kontrol atas penskalaan, sementara juga membutuhkan pemantauan untuk memastikan kapasitas saat ini cukup memenuhi permintaan. Untuk Valkey dan Redis OSS, Anda dapat memilih untuk menskalakan secara vertikal dengan menambah atau mengurangi ukuran node cache saat diperlukan. Anda juga dapat menskalakan secara horizontal, dengan menambahkan pecahan baru atau menambahkan lebih banyak replika ke pecahan Anda. Kemampuan ini tidak tersedia untuk Memcached. Dengan fitur Auto-Scaling, Anda juga dapat mengonfigurasi penskalaan berdasarkan jadwal, atau skala berdasarkan metrik seperti penggunaan CPU dan Memori pada cache.  | 
|  Koneksi klien  |  Klien terhubung ke satu titik akhir. Ini memungkinkan topologi node cache yang mendasarinya (penskalaan, penggantian, dan peningkatan) berubah tanpa memutuskan sambungan klien.  |  Klien terhubung ke setiap node cache individu. Jika node diganti, klien menemukan kembali topologi cluster dan membangun kembali koneksi.  | 
|  Konfigurasi  |  Tidak ada konfigurasi berbutir halus yang tersedia. Pelanggan dapat mengkonfigurasi pengaturan dasar termasuk subnet yang dapat mengakses cache, apakah backup otomatis diaktifkan atau dimatikan, dan batas penggunaan cache maksimum.   |  Cluster berbasis node menyediakan opsi konfigurasi berbutir halus. Pelanggan dapat menggunakan grup parameter untuk kontrol berbutir halus. Untuk mengetahui tabel nilai parameter ini berdasarkan jenis simpul, lihat [Parameter spesifik mesin](ParameterGroups.Engine.md).  | 
|  Multi-AZ  |  Data direplikasi secara asinkron di beberapa Availability Zone untuk ketersediaan yang lebih tinggi dan latensi baca yang lebih baik.  |  Menyediakan opsi untuk membuat cluster dalam Availability Zone tunggal atau di beberapa Availability Zones (AZs). Saat menggunakan Valkey atau Redis OSS, menyediakan cluster multi-AZ dengan data yang direplikasi secara asinkron di beberapa Availability Zone untuk ketersediaan yang lebih tinggi dan latensi baca yang lebih baik.  | 
|  Enkripsi saat diam  |  Selalu diaktifkan. Pelanggan dapat menggunakan Kunci yang dikelola AWS atau kunci yang dikelola pelanggan AWS KMS.  |  Opsi untuk mengaktifkan atau menonaktifkan enkripsi saat istirahat. Ketika diaktifkan, pelanggan dapat menggunakan Kunci yang dikelola AWS atau kunci yang dikelola pelanggan AWS KMS.   | 
|  Enkripsi dalam perjalanan (TLS)  |  Selalu diaktifkan. Klien harus mendukung konektivitas TLS.   |  Opsi untuk mengaktifkan atau menonaktifkan.  | 
|  Pencadangan  |  Mendukung pencadangan cache otomatis dan manual tanpa dampak kinerja. Cadangan Valkey dan Redis OSS kompatibel silang, dan dapat dikembalikan ke cache Tanpa ElastiCache Server atau cluster berbasis node.  |  Mendukung backup otomatis dan manual untuk Valkey dan Redis OSS. Cluster mungkin melihat beberapa dampak kinerja tergantung pada memori cadangan yang tersedia. Untuk informasi selengkapnya, lihat [Mengelola memori cadangan untuk Valkey dan Redis OSS](redis-memory-management.md). Cadangan Valkey dan Redis OSS kompatibel silang, dan dapat dikembalikan ke cache Tanpa ElastiCache Server atau cluster berbasis node.  | 
|  Memantau  |  Mendukung metrik tingkat cache termasuk tingkat hit cache, tingkat kehilangan cache, ukuran data, dan ECPUs konsumsi. ElastiCache Tanpa server mengirim peristiwa menggunakan EventBridge saat peristiwa penting terjadi di cache Anda. Anda dapat memilih untuk memantau, menelan, mengubah, dan menindaklanjuti ElastiCache acara menggunakan Amazon EventBridge. Untuk informasi selengkapnya, lihat [Peristiwa cache nirserver](serverless-metrics-events-redis.md#serverless-events).  |   ElastiCache Cluster berbasis node memancarkan metrik di setiap tingkat node, termasuk metrik tingkat host dan metrik cache. Cluster berbasis node memancarkan pemberitahuan SNS untuk peristiwa penting. Lihat [Metrik untuk Memcached](CacheMetrics.Memcached.md) dan [Metrik untuk Valkey dan Redis OSS](CacheMetrics.Redis.md).  | 
|  Ketersediaan  |  99,99% ketersediaan [Perjanjian Tingkat Layanan (](https://aws.amazon.com/elasticache/sla/)SLA)  |  Cluster berbasis node dapat dirancang untuk mencapai hingga 99,99% ketersediaan [Service Level Agreement (SLA)](https://aws.amazon.com/elasticache/sla/), tergantung pada konfigurasi.  | 
|  Peningkatan dan penambalan perangkat lunak  |  Secara otomatis memutakhirkan perangkat lunak cache ke versi minor dan patch terbaru, tanpa dampak aplikasi. Pelanggan menerima pemberitahuan untuk peningkatan versi utama, dan pelanggan dapat meningkatkan ke versi utama terbaru kapan pun mereka mau.  |  Cluster berbasis node menawarkan layanan mandiri yang diaktifkan pelanggan untuk peningkatan versi minor dan patching, serta peningkatan versi utama. Pembaruan terkelola diterapkan secara otomatis selama jendela pemeliharaan yang ditentukan pelanggan. Pelanggan juga dapat memilih untuk menerapkan upgrade versi minor atau patch sesuai permintaan.   | 
|  Toko Data Global   |  Tidak didukung   |  Mendukung Global Data Store, yang memungkinkan replikasi lintas wilayah dengan penulisan wilayah tunggal dan pembacaan multi-wilayah  | 
|  Tingkat Data  |  Tidak didukung  |  Cluster yang dibuat menggunakan node dari keluarga r6gd memiliki data berjenjang antara memori dan penyimpanan SSD lokal (solid state drive). Tiering data menyediakan opsi harga-kinerja untuk beban kerja Valkey dan Redis OSS dengan memanfaatkan solid state drive (SSDs) berbiaya lebih rendah di setiap node cluster, selain menyimpan data dalam memori.  | 
|  Model penentuan harga  |  Pay-per-use, berdasarkan data yang disimpan dalam GB-jam dan permintaan di Unit ElastiCache Pemrosesan (ECPU). Lihat detail harga [di sini](https://aws.amazon.com/elasticache/pricing/).  |  Pay-per-hour, berdasarkan penggunaan node cache. Lihat detail harga [di sini](https://aws.amazon.com/elasticache/pricing/).  | 

Topik terkait:
+ [Membuat dan mengelola cluster berbasis node ElastiCacheMembuat dan mengelola cluster berbasis node ElastiCache ](designing-elasticache-cluster.md)

# ElastiCache Sumber daya Amazon untuk pengguna pertama kali
<a name="WhatIs.FirstTimeUser"></a>

Kami menyarankan agar pengguna pertama kali memulai dengan membaca bagian berikut, dan merujuknya sesuai kebutuhan.
+ **Sorotan dan harga layanan** - [Halaman detail produk](https://aws.amazon.com/elasticache/) menyediakan ikhtisar produk umum ElastiCache, sorotan layanan, dan harga.
+ **ElastiCache video** - [ElastiCache Video](Tutorials.md#tutorial-videos) Bagian ini memiliki video yang memperkenalkan Anda ke Amazon ElastiCache. Video mencakup kasus penggunaan umum ElastiCache dan demo cara penggunaan ElastiCache untuk mengurangi latensi dan meningkatkan throughput untuk aplikasi Anda.
+ **Memulai** — [Memulai dengan Amazon ElastiCache](GettingStarted.md) Bagian ini mencakup informasi tentang membuat cache. Ini juga mencakup cara mengotorisasi akses ke cache, terhubung ke node cache, dan menghapus cache.
+ **Kinerja dalam skala besar** — [Kinerja pada skala dengan ElastiCache whitepaper Amazon](https://d0.awsstatic.com/whitepapers/performance-at-scale-with-amazon-elasticache.pdf) membahas strategi caching yang membantu aplikasi Anda berkinerja baik dalam skala besar.

Setelah Anda menyelesaikan bagian terdahulu, baca bagian ini:
+ [Memilih ukuran simpul Anda](CacheNodes.SelectSize.md)

  Anda menginginkan simpul Anda cukup besar untuk mengakomodasi semua data yang ingin dijadikan cache. Pada saat yang sama, Anda tidak ingin mengeluarkan biaya untuk kelebihan cache yang tidak diperlukan. Anda dapat menggunakan topik ini untuk membantu Anda dalam memilih ukuran simpul yang terbaik.
+ [ElastiCache praktik terbaik dan strategi caching](BestPractices.md)

  Identifikasi dan atasi masalah yang dapat mempengaruhi efisiensi klaster Anda.

Jika Anda ingin menggunakan AWS Command Line Interface(AWS CLI), Anda dapat menggunakan dokumen-dokumen ini untuk membantu Anda memulai:
+ [AWS Command Line Interface dokumentasi](https://docs.aws.amazon.com/cli/)

  Bagian ini memberikan informasi tentang mengunduh AWS CLI, mendapatkan AWS CLI pekerjaan pada sistem Anda, dan memberikan AWS kredensi Anda.
+ [AWS CLI dokumentasi untuk ElastiCache](https://docs.aws.amazon.com/cli/latest/reference/elasticache/index.html)

  Dokumen terpisah ini mencakup semua ElastiCache perintah AWS CLI for, termasuk sintaks dan contoh.

Anda dapat menulis program aplikasi untuk menggunakan ElastiCache API dengan berbagai bahasa pemrograman populer. Berikut adalah beberapa sumber daya:
+ [Alat untuk Amazon Web Services](https://aws.amazon.com/tools/)

  Amazon Web Services menyediakan sejumlah kit pengembangan perangkat lunak (SDKs) dengan dukungan untuk ElastiCache. Anda dapat membuat kode untuk ElastiCache menggunakan Java, .NET, PHP, Ruby, dan bahasa lainnya. Ini SDKs dapat sangat menyederhanakan pengembangan aplikasi Anda dengan memformat permintaan Anda ElastiCache, mengurai respons, dan memberikan logika coba lagi dan penanganan kesalahan. 
+ [Menggunakan ElastiCache API](ProgrammingGuide.md)

  Jika Anda tidak ingin menggunakan AWS SDKs, Anda dapat berinteraksi dengan ElastiCache langsung menggunakan Query API. Pada bagian ini, Anda dapat menemukan tips pemecahan masalah dan informasi tentang membuat dan melakukan autentikasi atas permintaan serta menangani tanggapan. 
+ [Amazon ElastiCache API Referensi](https://docs.aws.amazon.com/AmazonElastiCache/latest/APIReference/)

  Dokumen terpisah ini mencakup semua operasi ElastiCache API, termasuk sintaks dan contoh.

# AWS Wilayah dan Zona Ketersediaan
<a name="WhatIs.AZs"></a>

Sumber daya komputasi cloud Amazon berlokasi di fasilitas pusat data dengan ketersediaan tinggi di berbagai wilayah di dunia (misalnya, Amerika Utara, Eropa, atau Asia). Setiap lokasi pusat data disebut AWS Region.

Setiap AWS Wilayah berisi beberapa lokasi berbeda yang disebut Availability Zone, atau AZs. Setiap Zona Ketersediaan dirancang agar terisolasi dari kegagalan di Zona Ketersediaan yang lain. Masing-masing dirancang untuk menyediakan konektivitas jaringan latensi rendah yang murah ke Availability Zone lainnya di Wilayah yang sama. AWS Dengan meluncurkan instans di Zona Ketersediaan yang terpisah, Anda dapat melindungi aplikasi Anda dari kegagalan di satu lokasi. Untuk informasi selengkapnya, lihat [Memilih wilayah dan zona ketersediaan](RegionsAndAZs.md).

Anda dapat menjalankan klaster Anda di beberapa Zona Ketersediaan, yang merupakan opsi yang disebut deployment Multi-AZ. Saat Anda memilih opsi ini, Amazon secara otomatis menyediakan dan memelihara instans simpul siaga sekunder pada Zona Ketersediaan yang berbeda. Instans simpul primer Anda direplikasi secara asinkron di seluruh Zona Ketersediaan ke instans sekunder. Pendekatan ini membantu memberikan redundansi data dan dukungan failover, menghilangkan I/O pembekuan, dan meminimalkan lonjakan latensi selama pencadangan sistem. Untuk informasi selengkapnya, lihat [Meminimalkan waktu henti ElastiCache untuk Valkey dan Redis](AutoFailover.md) OSS dengan Multi-AZ.

# Kasus ElastiCache Penggunaan Umum dan Bagaimana ElastiCache Dapat Membantu
<a name="elasticache-use-cases"></a>

Baik ketika menyajikan berita terkini, papan peringkat 10 teratas, katalog produk, maupun menjual tiket suatu acara, kecepatan adalah aspek yang terpenting. Keberhasilan situs web dan bisnis Anda sangat dipengaruhi oleh kecepatan Anda dalam menyediakan konten. 

Dalam artikel "[For Impatient Web Users, an Eye Blink Is Just Too Long to Wait](http://www.nytimes.com/2012/03/01/technology/impatient-web-users-flee-slow-loading-sites.html?pagewanted=all&_r=0)", New York Times menjelaskan bahwa pengguna dapat merasakan perbedaan 250 milidetik (1/4 detik) di antara beberapa situs yang bersaing. Pengguna cenderung lebih memilih situs yang lebih cepat daripada situs yang lambat. Pengujian yang dilakukan di Amazon, yang dikutip dalam artikel [How Webpage Load Time Is Related to Visitor Loss](http://pearanalytics.com/blog/2009/how-webpage-load-time-related-to-visitor-loss/), mengungkapkan bahwa untuk setiap 100 milidetik (1/10 detik) penambahan waktu pemuatan, penjualan turun 1 persen. 

Jika seseorang menginginkan data, Anda dapat mengirimkan data tersebut lebih cepat jika disimpan dalam cache. Hal tersebut berlaku baik untuk halaman web maupun laporan yang mendorong keputusan bisnis. Apakah bisnis Anda mampu menampilkan halaman web Anda dengan latensi yang sesingkat mungkin tanpa menyimpannya dalam cache?

Tanpa perlu dipikir lagi, Anda pasti ingin meng-cache item Anda yang paling banyak diminta. Namun, mengapa tidak meng-cache item yang kurang sering diminta? Bahkan kueri atau panggilan API jarak jauh ke basis data yang paling dioptimalkan sekalipun akan terasa lebih lambat daripada mengambil satu kunci datar dari cache dalam memori. *Pemuatan yang terasa lebih lambat* cenderung membuat pelanggan beralih ke bisnis lain.

Contoh berikut menggambarkan beberapa cara penggunaan ElastiCache dapat meningkatkan kinerja keseluruhan aplikasi Anda.

**Topics**
+ [Penyimpanan Data Dalam Memori](#elasticache-use-cases-data-store)
+ [Papan Peringkat Permainan](#elasticache-for-redis-use-cases-gaming)
+ [Pesan (Pub/Sub)](#elasticache-for-redis-use-cases-messaging)
+ [Data Rekomendasi (Hash)](#elasticache-for-redis-use-cases-recommendations)
+ [Caching semantik untuk aplikasi AI generatif](#elasticache-for-redis-use-cases-semantic-caching)
+ [ElastiCache Testimonial Pelanggan](#elasticache-use-cases-testimonials)

## Penyimpanan Data Dalam Memori
<a name="elasticache-use-cases-data-store"></a>

Tujuan utama dari penyimpanan nilai-kunci dalam memori adalah untuk menyediakan akses ultracepat (latensi submilidetik) dan murah ke salinan data. Kebanyakan penyimpanan data memiliki area data yang sering diakses namun jarang diperbarui. Selain itu, kueri basis data selalu lebih lambat dan menghabiskan lebih banyak daya komputasi daripada menemukan kunci dalam cache pasangan nilai kunci. Beberapa kueri basis data menghabiskan sangat banyak daya komputasi untuk dijalankan. Contohnya adalah kueri yang memerlukan operasi join terhadap beberapa tabel atau kueri dengan penghitungan intensif. Dengan meng-cache hasil kueri tersebut, Anda membayar harga kueri hanya sekali. Kemudian, Anda dapat dengan cepat mengambil data beberapa kali tanpa harus menjalankan kembali kueri tersebut.

### Apa yang Harus Saya Simpan dalam Cache?
<a name="elasticache-use-cases-data-store-what-to-cache"></a>

Saat menentukan data apa yang harus di-cache, pertimbangkan beberapa faktor ini:

**Kecepatan dan biaya** – Selalu akan lebih lambat dan lebih mahal untuk mendapatkan data dari basis data dibandingkan dari cache. Beberapa kueri basis data secara inheren lebih lambat dan lebih mahal daripada yang lain. Misalnya, kueri yang melakukan operasi join terhadap beberapa tabel akan jauh lebih lambat dan lebih mahal daripada kueri tabel tunggal sederhana. Jika data yang diperlukan hanya dapat diperoleh menggunakan kueri yang lambat dan mahal, berarti data ini kemungkinan cocok untuk caching. Jika data dapat diambil dengan kueri yang relatif cepat dan sederhana, data tersebut mungkin masih dapat menjadi kandidat untuk caching, tergantung pada beberapa faktor lainnya.

**Data dan pola akses** – Untuk menentukan apa yang perlu di-cache, diperlukan juga pemahaman terhadap data itu sendiri dan pola aksesnya. Misalnya, tidak masuk akal untuk meng-cache data yang berubah dengan cepat atau jarang diakses. Agar proses cache menyediakan manfaat nyata, data harus relatif statis dan sering diakses. Contohnya adalah profil pribadi di situs media sosial. Di sisi lain, Anda tidak ingin meng-cache data jika caching tidak menyediakan kecepatan atau keuntungan biaya. Misalnya, tidak masuk akal untuk meng-cache halaman web yang menampilkan hasil pencarian karena kueri dan hasilnya biasanya unik.

**Staleness** – Menurut definisi, data yang di-cache adalah data usang (stale). Meskipun dalam keadaan tertentu data tidak usang, namun data ini harus selalu dianggap dan diperlakukan sebagai data usang. Untuk mengetahui apakah data Anda adalah kandidat untuk caching, tentukan toleransi aplikasi Anda untuk data usang. 

Aplikasi Anda mungkin dapat menoleransi data usang dalam satu konteks, tetapi tidak untuk yang lain. Misalnya, anggaplah situs Anda menyajikan harga saham yang diperdagangkan secara publik. Pelanggan Anda mungkin bisa menerima beberapa data usang jika diberi klarifikasi bahwa data harga mungkin tertunda *n* menit. Namun, jika Anda menyajikan harga saham tersebut kepada pialang saham yang melakukan penjualan atau pembelian, maka Anda menginginkan data waktu nyata.

Pertimbangkan untuk meng-cache data Anda jika hal berikut ini berlaku:
+ Data Anda lambat atau mahal untuk diperoleh jika dibandingkan dengan pengambilan dari cache.
+ Pengguna sering mengakses data Anda.
+ Data Anda tetap relatif sama, atau jika data berubah dengan cepat, "staleness" bukanlah masalah besar.

Untuk informasi selengkapnya, lihat [Strategi cache untuk Memcached](Strategies.md)

## Papan Peringkat Permainan
<a name="elasticache-for-redis-use-cases-gaming"></a>

Dengan set Valkey atau Redis OSS yang diurutkan, Anda dapat memindahkan kompleksitas komputasi papan peringkat dari aplikasi Anda ke cluster Anda.

Papan peringkat, seperti 10 skor teratas untuk sebuah game memiliki komputasi yang rumit. Hal ini terutama terjadi jika ada banyak pemain sekaligus dan skor terus berubah. Set yang diurutkan Valkey dan Redis OSS menjamin keunikan dan urutan elemen. Dengan set yang diurutkan, setiap kali elemen baru ditambahkan ke set yang diurutkan, itu di-reranked secara real time. Elemen tersebut kemudian ditambahkan ke set dalam urutan numerik yang benar. 

Dalam diagram berikut, Anda dapat melihat cara kerja papan peringkat ElastiCache game.

![\[\]](http://docs.aws.amazon.com/id_id/AmazonElastiCache/latest/dg/images/ElastiCache-Redis-Gaming.png)


**Example Papan Peringkat Valkey atau Redis OSS**  
Dalam contoh ini, empat pemain game dan skor mereka dimasukkan ke dalam daftar berurut menggunakan `ZADD`. Perintah `ZREVRANGEBYSCORE` mengurutkan pemain sesuai skor mereka, dari tinggi ke rendah. Selanjutnya, `ZADD` digunakan untuk memperbarui skor milik June dengan menimpa entri yang sudah ada. Terakhir, `ZREVRANGEBYSCORE` mengurutkan pemain sesuai skor mereka, dari tinggi ke rendah. Daftar ini menunjukkan bahwa June telah naik dalam peringkat.  

```
ZADD leaderboard 132 Robert
ZADD leaderboard 231 Sandra
ZADD leaderboard 32 June
ZADD leaderboard 381 Adam
			
ZREVRANGEBYSCORE leaderboard +inf -inf
1) Adam
2) Sandra
3) Robert
4) June

ZADD leaderboard 232 June

ZREVRANGEBYSCORE leaderboard +inf -inf
1) Adam
2) June
3) Sandra
4) Robert
```
Perintah berikut menunjukkan peringkat June di antara semua pemain. Karena peringkat adalah berbasis nol, *ZREVRANK* menampilkan nilai 1 untuk June, yang berada di posisi kedua.  

```
ZREVRANK leaderboard June 
1
```

Untuk informasi selengkapnya, lihat [dokumentasi Valkey](https://valkey.io/topics/sorted-sets/) tentang set yang diurutkan.

## Pesan (Pub/Sub)
<a name="elasticache-for-redis-use-cases-messaging"></a>

Ketika Anda mengirim pesan email, Anda mengirimkannya ke satu atau beberapa penerima tertentu. Dalam paradigma pub/sub Valkey dan Redis OSS, Anda mengirim pesan ke saluran tertentu yang tidak tahu siapa, jika ada, yang menerimanya. Orang-orang yang mendapatkan pesan adalah mereka yang berlangganan saluran tersebut. Misalnya, anggaplah Anda berlangganan saluran *news.sports.golf*. Anda dan semua orang yang berlangganan saluran *news.sports.golf* mendapatkan semua pesan yang dipublikasikan ke *news.sports.golf*.

Fungsionalitas PUB/sub tidak ada hubungannya dengan ruang kunci apa pun. Oleh karena itu, fungsi ini sama sekali tidak memberikan pengaruh. Dalam diagram berikut, Anda dapat menemukan ilustrasi ElastiCache pesan dengan Valkey dan Redis OSS.

![\[\]](http://docs.aws.amazon.com/id_id/AmazonElastiCache/latest/dg/images/ElastiCache-Redis-PubSub.png)


### Berlangganan
<a name="elasticache-use-cases-messaging-subscribing"></a>

Untuk menerima pesan pada saluran, Anda berlangganan saluran tersebut. Anda dapat berlangganan satu saluran, beberapa saluran tertentu, atau semua saluran yang sesuai dengan pola. Untuk membatalkan langganan, Anda berhenti berlangganan dari saluran yang ditentukan saat Anda berlangganan. Atau, jika berlangganan menggunakan pencocokan pola, Anda berhenti berlangganan menggunakan pola yang sama seperti yang Anda gunakan sebelumnya.

**Example - Langganan ke Satu Saluran**  
Untuk berlangganan satu saluran, gunakan perintah SUBSCRIBE yang menentukan saluran yang diinginkan. Pada contoh berikut, klien berlangganan saluran *news.sports.golf*.  

```
SUBSCRIBE news.sports.golf
```
Setelah beberapa saat, klien ini membatalkan langganannya ke saluran tersebut menggunakan perintah UNSUBSCRIBE yang menentukan saluran yang akan dihentikan langganannya.  

```
UNSUBSCRIBE news.sports.golf
```

**Example - Berlangganan ke Beberapa Saluran Tertentu**  
Untuk berlangganan beberapa saluran tertentu, tampilkan daftar saluran dengan perintah SUBSCRIBE. Pada contoh berikut, klien berlangganan saluran *news.sports.golf*, *news.sports.soccer*, dan *news.sports.skiing*.  

```
SUBSCRIBE news.sports.golf news.sports.soccer news.sports.skiing
```
Untuk membatalkan langganan ke saluran tertentu, gunakan perintah UNSUBSCRIBE dan tentukan saluran yang akan dihentikan langganannya.  

```
UNSUBSCRIBE news.sports.golf
```
Untuk membatalkan langganan ke beberapa saluran, gunakan perintah UNSUBSCRIBE dan tentukan saluran-saluran yang akan dihentikan langganannya.  

```
UNSUBSCRIBE news.sports.golf news.sports.soccer
```
Untuk membatalkan semua langganan, gunakan `UNSUBSCRIBE` dan tentukan setiap saluran. Atau gunakan `UNSUBSCRIBE` dan jangan menentukan saluran.  

```
UNSUBSCRIBE news.sports.golf news.sports.soccer news.sports.skiing
```
atau  

```
UNSUBSCRIBE
```

**Example - Langganan Menggunakan Pencocokan Pola**  
Klien dapat berlangganan semua saluran yang cocok dengan sebuah pola menggunakan perintah PSUBSCRIBE.  
Pada contoh berikut, klien berlangganan semua saluran olahraga. Anda tidak menampilkan daftar semua saluran olahraga satu per satu, seperti yang Anda gunakan dengan `SUBSCRIBE`. Namun, dengan perintah `PSUBSCRIBE` Anda menggunakan pencocokan pola.  

```
PSUBSCRIBE news.sports.*
```

**Example Membatalkan Langganan**  
Untuk membatalkan langganan ke saluran tersebut, gunakan perintah `PUNSUBSCRIBE`.  

```
PUNSUBSCRIBE news.sports.*
```
+ String saluran yang dikirim ke perintah [P]SUBSCRIBE dan ke perintah [P]UNSUBSCRIBE harus cocok. Anda tidak dapat menjalankan `PSUBSCRIBE` ke *news.\$1* dan `PUNSUBSCRIBE` dari *news.sports.\$1* atau `UNSUBSCRIBE` dari *news.sports.golf*.
+ `PSUBSCRIBE`dan tidak `PUNSUBSCRIBE` tersedia untuk Tanpa ElastiCache Server.

### Publikasi
<a name="elasticache-for-redis-use-cases-messaging-publishing"></a>

Untuk mengirim pesan ke semua pelanggan saluran, gunakan perintah `PUBLISH`, dengan menentukan saluran dan pesan. Contoh berikut memublikasikan pesan, "It’s Saturday and sunny. I’m headed to the links." ke saluran *news.sports.golf*.

```
PUBLISH news.sports.golf "It's Saturday and sunny. I'm headed to the links."
```

Klien tidak dapat mempublikasikan ke saluran yang berlangganan.

Untuk informasi selengkapnya, lihat [Pub/Sub](https://valkey.io/topics/pubsub) di dokumentasi Valkey.

## Data Rekomendasi (Hash)
<a name="elasticache-for-redis-use-cases-recommendations"></a>

Menggunakan INCR atau DECR di Valkey atau Redis OSS membuat rekomendasi kompilasi menjadi sederhana. Setiap kali pengguna "menyukai" produk, Anda menaikkan nilai penghitung *item:productID:like*. Setiap kali pengguna "tidak menyukai" produk, Anda menaikkan nilai penghitung *item:productID:dislike*. Menggunakan hash, Anda juga dapat mempertahankan daftar semua orang yang menyukai atau tidak menyukai suatu produk.

**Example - Suka dan Tidak Suka**  

```
INCR item:38923:likes
HSET item:38923:ratings Susan 1
INCR item:38923:dislikes
HSET item:38923:ratings Tommy -1
```

## Caching semantik untuk aplikasi AI generatif
<a name="elasticache-for-redis-use-cases-semantic-caching"></a>

Mengoperasikan aplikasi AI generatif dalam skala besar dapat menjadi tantangan karena biaya dan latensi yang terkait dengan panggilan inferensi ke model bahasa besar (). LLMs Anda dapat menggunakan caching ElastiCache semantik dalam aplikasi AI generatif, memungkinkan Anda mengurangi biaya dan latensi panggilan inferensi LLM. Dengan caching semantik, Anda dapat mengembalikan respons yang di-cache dengan menggunakan pencocokan berbasis vektor untuk menemukan kesamaan antara permintaan saat ini dan sebelumnya. Jika prompt pengguna secara semantik mirip dengan prompt sebelumnya, respons yang di-cache akan dikembalikan alih-alih membuat panggilan inferensi LLM baru, mengurangi biaya aplikasi AI generatif dan memberikan respons lebih cepat yang meningkatkan pengalaman pengguna. Anda dapat mengontrol kueri mana yang dirutekan ke cache dengan mengonfigurasi ambang kesamaan untuk permintaan dan menerapkan filter metadata tag atau numerik.

Pembaruan indeks real-time sebaris yang disediakan oleh pencarian vektor untuk ElastiCache membantu memastikan bahwa cache diperbarui terus menerus saat permintaan pengguna dan respons LLM mengalir masuk. Pengindeksan real-time ini sangat penting untuk menjaga kesegaran hasil cache dan tingkat hit cache, terutama untuk lalu lintas runcing. Selain itu, ElastiCache menyederhanakan operasi untuk caching semantik melalui primitif cache yang matang seperti per-kunci TTLs, strategi penggusuran yang dapat dikonfigurasi, operasi atom, dan struktur data yang kaya dan dukungan skrip.

**Memori untuk asisten dan agen AI generatif**

Anda dapat menggunakannya ElastiCache untuk memberikan respons yang lebih personal dan sadar konteks dengan menerapkan mekanisme memori yang memunculkan riwayat percakapan lintas sesi. LLMs Memori percakapan memungkinkan asisten dan agen AI generatif untuk mempertahankan dan menggunakan interaksi masa lalu untuk mempersonalisasi respons dan meningkatkan relevansi. Namun, hanya menggabungkan semua interaksi sebelumnya ke dalam prompt tidak efektif karena token tambahan yang tidak relevan meningkatkan biaya, menurunkan kualitas respons, dan risiko melebihi jendela konteks LLM. Sebagai gantinya, Anda dapat menggunakan pencarian vektor untuk mengambil dan hanya menyediakan data yang paling relevan dalam konteks untuk setiap pemanggilan LLM.

ElastiCache untuk Valkey menyediakan integrasi dengan lapisan memori sumber terbuka, menyediakan konektor bawaan untuk menyimpan dan mengambil memori untuk aplikasi dan agen LLM. Pencarian vektor untuk ElastiCache menyediakan pembaruan indeks cepat, menjaga memori tetap up to date dan membuat memori baru segera dicari. Pencarian vektor latensi rendah membuat pencarian memori menjadi cepat, memungkinkan mereka untuk diimplementasikan di jalur online setiap permintaan, bukan hanya tugas latar belakang. Di luar pencarian vektor, ElastiCache untuk Valkey juga menyediakan primitif caching untuk status sesi, preferensi pengguna, dan flag fitur, menyediakan layanan tunggal untuk menyimpan status sesi berumur pendek dan “memori” jangka panjang dalam satu datastore. 

**Retrieval augmented generation (RAG)**

RAG adalah proses penyediaan LLMs up-to-date informasi dalam prompt untuk meningkatkan relevansi tanggapan. RAG mengurangi halusinasi dan meningkatkan akurasi faktual dengan membumikan output dengan sumber data dunia nyata. Aplikasi RAG menggunakan pencarian vektor untuk mengambil konten yang relevan secara semantik dari basis pengetahuan. Pencarian vektor latensi rendah yang disediakan oleh ElastiCache membuatnya cocok untuk mengimplementasikan RAG dalam beban kerja yang memiliki kumpulan data besar dengan jutaan vektor ke atas. Lebih lanjut, dukungan untuk pembaruan indeks vektor online ElastiCache cocok untuk asisten dengan alur kerja unggahan yang perlu memastikan data yang diunggah segera dapat dicari. RAG dalam sistem AI agen memastikan bahwa agen memiliki up-to-date informasi untuk tindakan yang akurat. Pencarian vektor latensi rendah juga penting untuk RAG dalam sistem AI agen di mana satu kueri dapat memicu beberapa panggilan LLM dan menumpuk latensi dari pencarian vektor yang mendasarinya. 

Diagram berikut menggambarkan contoh arsitektur yang digunakan ElastiCache untuk mengimplementasikan cache semantik, mekanisme memori, dan RAG untuk meningkatkan aplikasi AI generatif dalam produksi.

![\[Diagram pencarian semantik seperti yang dilakukan oleh asisten AI generatif.\]](http://docs.aws.amazon.com/id_id/AmazonElastiCache/latest/dg/images/vector-search-gen-ai1.png)


**Pencarian Semantik**

Pencarian vektor mengambil data teks, ucapan, gambar, atau video yang paling relevan berdasarkan kedekatan makna atau fitur. Kemampuan ini memungkinkan aplikasi pembelajaran mesin yang mengandalkan pencarian kesamaan di berbagai modalitas data, termasuk mesin rekomendasi, deteksi anomali, personalisasi, dan sistem manajemen pengetahuan. Sistem rekomendasi menggunakan representasi vektor untuk menangkap pola kompleks dalam perilaku pengguna dan karakteristik item, memungkinkan mereka untuk menyarankan konten yang paling relevan. Pencarian vektor ElastiCache sangat cocok untuk aplikasi ini karena pembaruan hampir real-time dan latensi rendah, memungkinkan perbandingan kesamaan yang memberikan rekomendasi instan dan sangat relevan berdasarkan interaksi pengguna langsung.

## ElastiCache Testimonial Pelanggan
<a name="elasticache-use-cases-testimonials"></a>

Untuk mempelajari cara bisnis seperti Airbnb, PBS, Esri, dan lainnya menggunakan Amazon ElastiCache untuk mengembangkan bisnis mereka dengan pengalaman pelanggan yang lebih baik, lihat [Cara Orang Lain Menggunakan Amazon](https://aws.amazon.com/elasticache/testimonials/). ElastiCache

Anda juga dapat menonton [video Tutorial](Tutorials.md#tutorial-videos) untuk kasus penggunaan ElastiCache pelanggan tambahan.