

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

# Mengelola memori cadangan untuk Valkey dan Redis OSS
<a name="redis-memory-management"></a>

Memori cadangan adalah memori yang disisihkan untuk penggunaan nondata. Saat melakukan pencadangan atau failover, Valkey dan Redis OSS menggunakan memori yang tersedia untuk merekam operasi tulis ke cluster Anda saat data cluster sedang ditulis ke file.rdb. Jika tidak tersedia memori yang cukup untuk semua operasi tulis, proses tersebut akan gagal. Berikut ini, Anda dapat menemukan informasi tentang opsi untuk mengelola memori cadangan ElastiCache untuk Redis OSS dan cara menerapkan opsi tersebut.

**Topics**
+ [Berapa Banyak Memori Cadangan yang Anda Butuhkan?](#redis-memory-management-need)
+ [Parameter untuk Mengelola Memori Cadangan](#redis-memory-management-parameters)
+ [Menentukan Parameter Manajemen Memori Cadangan](#redis-reserved-memory-management-change)

## Berapa Banyak Memori Cadangan yang Anda Butuhkan?
<a name="redis-memory-management-need"></a>

Jika Anda menjalankan versi Redis OSS sebelum 2.8.22, cadangan lebih banyak memori untuk backup dan failovers daripada jika Anda menjalankan Redis OSS 2.8.22 atau yang lebih baru. Persyaratan ini disebabkan oleh berbagai cara yang ElastiCache untuk Redis OSS mengimplementasikan proses pencadangan. Aturan praktisnya adalah untuk mencadangkan setengah dari `maxmemory` nilai tipe node untuk overhead Redis OSS untuk versi sebelum 2.8.22, dan seperempat untuk Redis OSS versi 2.8.22 dan yang lebih baru. 

Karena berbagai cara yang ElastiCache mengimplementasikan proses pencadangan dan replikasi, aturan praktisnya adalah mencadangkan 25% dari `maxmemory` nilai tipe node dengan menggunakan parameter. `reserved-memory-percent` Ini adalah nilai default dan direkomendasikan untuk sebagian besar kasus.

Ketika tipe instans mikro dan kecil burstable beroperasi mendekati `maxmemory` batas, mereka mungkin mengalami penggunaan swap. Untuk meningkatkan keandalan operasional pada jenis instans ini selama pencadangan, replikasi, dan lalu lintas tinggi, kami sarankan untuk meningkatkan nilai `reserved-memory-percent` parameter hingga 30% pada jenis instans kecil, dan hingga 50% pada jenis instans mikro.

Untuk beban kerja berat tulis pada ElastiCache cluster dengan tiering data, kami sarankan untuk meningkatkan `reserved-memory-percent` hingga 50% dari memori node yang tersedia.

Untuk informasi lain, lihat hal berikut:
+ [Memastikan Anda memiliki cukup memori untuk membuat snapshot Valkey atau Redis OSS](BestPractices.BGSAVE.md)
+ [Cara penerapan sinkronisasi dan pencadangan](Replication.Redis.Versions.md)
+ [Tingkatan data di ElastiCache](data-tiering.md)

## Parameter untuk Mengelola Memori Cadangan
<a name="redis-memory-management-parameters"></a>

Mulai 16 Maret 2017, Amazon ElastiCache menyediakan dua parameter yang saling eksklusif untuk mengelola memori Valkey atau Redis OSS Anda, dan. `reserved-memory` `reserved-memory-percent` Tak satu pun dari parameter ini merupakan bagian dari distribusi Valkey atau Redis OSS. 

Bergantung pada kapan Anda menjadi ElastiCache pelanggan, satu atau yang lain dari parameter ini adalah parameter manajemen memori default. Parameter ini berlaku ketika Anda membuat cluster Valkey atau Redis OSS baru atau grup replikasi dan menggunakan grup parameter default. 
+ Untuk pelanggan yang memulai sebelum 16 Maret 2017 - Saat Anda membuat cluster Redis OSS atau grup replikasi menggunakan grup parameter default, parameter manajemen memori Anda adalah. `reserved-memory` Dalam hal ini, memori cadangan adalah nol (0) byte. 
+ Untuk pelanggan yang memulai pada atau setelah 16 Maret 2017 - Saat Anda membuat cluster Valkey atau Redis OSS atau grup replikasi menggunakan grup parameter default, parameter manajemen memori Anda adalah. `reserved-memory-percent` Dalam hal ini, 25 persen dari nilai `maxmemory` dari simpul Anda dicadangkan untuk tujuan nondata.

Setelah membaca tentang dua parameter manajemen memori Valkey atau Redis OSS, Anda mungkin lebih suka menggunakan salah satu yang bukan default Anda atau dengan nilai nondefault. Jika demikian, Anda dapat mengubah ke parameter manajemen memori cadangan yang lain. 

Untuk mengubah nilai parameter tersebut, Anda dapat membuat grup parameter kustom dan mengubahnya untuk menggunakan parameter dan nilai manajemen memori pilihan Anda. Anda kemudian dapat menggunakan grup parameter kustom setiap kali Anda membuat cluster Valkey atau Redis OSS baru atau grup replikasi. Untuk klaster atau grup replikasi yang sudah ada, Anda dapat mengubahnya untuk menggunakan grup parameter kustom.

 Untuk informasi selengkapnya, lihat berikut ini: 
+ [Menentukan Parameter Manajemen Memori Cadangan](#redis-reserved-memory-management-change)
+ [Membuat grup ElastiCache parameter](ParameterGroups.Creating.md)
+ [Memodifikasi grup ElastiCache parameter](ParameterGroups.Modifying.md)
+ [Memodifikasi cluster ElastiCache](Clusters.Modify.md)
+ [Mengubah grup replikasi](Replication.Modify.md)

### Parameter reserved-memory
<a name="redis-memory-management-parameters-reserved-memory"></a>

Sebelum 16 Maret 2017, semua ElastiCache untuk manajemen memori cadangan Redis OSS dilakukan dengan menggunakan parameter. `reserved-memory` Nilai default `reserved-memory` adalah 0. Default ini tidak menyimpan memori untuk overhead Valkey atau Redis OSS dan memungkinkan Valkey atau Redis OSS untuk mengkonsumsi semua memori node dengan data. 

Mengubah `reserved-memory` agar Anda memiliki cukup memori tersedia untuk pencadangan dan failover mengharuskan Anda membuat grup parameter kustom. Dalam grup parameter kustom ini, Anda menyetel `reserved-memory` ke nilai yang sesuai untuk versi Valkey atau Redis OSS yang berjalan pada tipe node cluster dan cluster Anda. Untuk informasi selengkapnya, lihat [Berapa Banyak Memori Cadangan yang Anda Butuhkan?](#redis-memory-management-need)

Parameter `reserved-memory` khusus untuk ElastiCache dan bukan bagian dari distribusi Redis OSS umum.

Prosedur berikut menunjukkan cara menggunakan `reserved-memory` untuk mengelola memori pada cluster Valkey atau Redis OSS Anda.

**Untuk mencadangkan memori menggunakan reserved-memory**

1. Buat grup parameter kustom yang menentukan keluarga grup parameter yang cocok dengan versi mesin yang Anda jalankan—misalnya, menentukan keluarga grup parameter `redis2.8`. Untuk informasi selengkapnya, lihat [Membuat grup ElastiCache parameter](ParameterGroups.Creating.md).

   ```
   aws elasticache create-cache-parameter-group \
      --cache-parameter-group-name redis6x-m3xl \
      --description "Redis OSS 2.8.x for m3.xlarge node type" \
      --cache-parameter-group-family redis6.x
   ```

1. Hitung berapa byte memori yang akan dicadangkan untuk overhead Valkey atau Redis OSS. Anda dapat menemukan nilai `maxmemory` untuk jenis simpul Anda di [Parameter spesifik tipe node Redis OSS](ParameterGroups.Engine.md#ParameterGroups.Redis.NodeSpecific).

1. Ubah grup parameter kustom agar parameter `reserved-memory` adalah jumlah byte yang Anda hitung pada langkah sebelumnya. AWS CLI Contoh berikut mengasumsikan Anda menjalankan versi Redis OSS sebelum 2.8.22 dan perlu memesan setengah dari node. `maxmemory` Untuk informasi selengkapnya, lihat [Memodifikasi grup ElastiCache parameter](ParameterGroups.Modifying.md).

   ```
   aws elasticache modify-cache-parameter-group \
      --cache-parameter-group-name redis28-m3xl \
      --parameter-name-values "ParameterName=reserved-memory, ParameterValue=7130316800"
   ```

   Anda memerlukan grup parameter kustom terpisah untuk setiap jenis simpul yang Anda gunakan, karena setiap jenis simpul memiliki nilai `maxmemory` yang berbeda. Dengan demikian, setiap jenis simpul membutuhkan nilai yang berbeda untuk `reserved-memory`.

1. Ubah cluster Redis OSS atau grup replikasi Anda untuk menggunakan grup parameter kustom Anda.

   Contoh CLI berikut mengubah klaster ` my-redis-cluster` untuk menggunakan grup parameter kustom `redis28-m3xl` yang dimulai segera. Untuk informasi selengkapnya, lihat [Memodifikasi cluster ElastiCache](Clusters.Modify.md).

   ```
   aws elasticache modify-cache-cluster \
      --cache-cluster-id my-redis-cluster \
      --cache-parameter-group-name redis28-m3xl \
      --apply-immediately
   ```

   Contoh CLI berikut mengubah grup replikasi `my-redis-repl-grp` untuk menggunakan grup parameter kustom `redis28-m3xl` yang dimulai segera. Untuk informasi selengkapnya, lihat [Mengubah grup replikasi](Replication.Modify.md).

   ```
   aws elasticache modify-replication-group \
      --replication-group-id my-redis-repl-grp \
      --cache-parameter-group-name redis28-m3xl \
      --apply-immediately
   ```

### reserved-memory-percentParameternya
<a name="redis-memory-management-parameters-reserved-memory-percent"></a>

Pada 16 Maret 2017, Amazon ElastiCache memperkenalkan parameter `reserved-memory-percent` dan membuatnya tersedia di semua versi ElastiCache untuk Redis OSS. Tujuan dari `reserved-memory-percent` adalah untuk menyederhanakan manajemen memori cadangan di semua klaster Anda. Hal ini dilakukan dengan memungkinkan Anda memiliki satu grup parameter tunggal untuk setiap keluarga grup parameter (seperti `redis2.8`) untuk mengelola memori cadangan dari klaster Anda, terlepas dari jenis simpulnya. Nilai default untuk `reserved-memory-percent` adalah 25 (25 persen).

Parameter `reserved-memory-percent` khusus untuk ElastiCache dan bukan bagian dari distribusi Redis OSS umum.

Jika klaster Anda menggunakan jenis simpul dari keluarga r6gd dan penggunaan memori Anda mencapai 75 persen, tingkatan data akan dipicu secara otomatis. Untuk informasi selengkapnya, lihat [Tingkatan data di ElastiCache](data-tiering.md).

**Untuk menyimpan memori menggunakan reserved-memory-percent**  
Untuk menggunakan `reserved-memory-percent` untuk mengelola memori pada cluster ElastiCache untuk Redis OSS Anda, lakukan salah satu hal berikut:
+ Jika Anda menjalankan Redis OSS 2.8.22 atau yang lebih baru, tetapkan grup parameter default ke cluster Anda. Default 25 persen seharusnya sudah memadai. Jika tidak, lakukan langkah yang dijelaskan berikut untuk mengubah nilai.
+ Jika Anda menjalankan versi Redis OSS sebelum 2.8.22, Anda mungkin perlu memesan lebih banyak memori daripada `reserved-memory-percent` default 25 persen. Untuk melakukannya, gunakan prosedur berikut. 

**Untuk mengubah nilai persen reserved-memory-percent**

1. Buat grup parameter kustom yang menentukan keluarga grup parameter yang cocok dengan versi mesin yang Anda jalankan—misalnya, menentukan keluarga grup parameter `redis2.8`. Grup parameter kustom diperlukan karena Anda tidak dapat mengubah grup parameter default. Untuk informasi selengkapnya, lihat [Membuat grup ElastiCache parameter](ParameterGroups.Creating.md).

   ```
   aws elasticache create-cache-parameter-group \
      --cache-parameter-group-name redis28-50 \
      --description "Redis OSS 2.8.x 50% reserved" \
      --cache-parameter-group-family redis2.8
   ```

   Karena `reserved-memory-percent` mencadangkan memori sebagai persentase `maxmemory` simpul, Anda tidak memerlukan grup parameter kustom untuk setiap jenis simpul.

1. Ubah grup parameter kustom agar `reserved-memory-percent` menjadi 50 (50 persen). Untuk informasi selengkapnya, lihat [Memodifikasi grup ElastiCache parameter](ParameterGroups.Modifying.md).

   ```
   aws elasticache modify-cache-parameter-group \
      --cache-parameter-group-name redis28-50 \
      --parameter-name-values "ParameterName=reserved-memory-percent, ParameterValue=50"
   ```

1. Gunakan grup parameter kustom ini untuk setiap cluster Redis OSS atau grup replikasi yang menjalankan versi Redis OSS yang lebih tua dari 2.8.22.

   Contoh CLI berikut memodifikasi cluster Redis OSS `my-redis-cluster` untuk menggunakan kelompok parameter kustom dimulai segera. `redis28-50` Untuk informasi selengkapnya, lihat [Memodifikasi cluster ElastiCache](Clusters.Modify.md).

   ```
   aws elasticache modify-cache-cluster \
      --cache-cluster-id my-redis-cluster \
      --cache-parameter-group-name redis28-50 \
      --apply-immediately
   ```

   Contoh CLI berikut memodifikasi kelompok replikasi Redis OSS `my-redis-repl-grp` untuk menggunakan kelompok parameter kustom dimulai segera. `redis28-50` Untuk informasi selengkapnya, lihat [Mengubah grup replikasi](Replication.Modify.md).

   ```
   aws elasticache modify-replication-group \
      --replication-group-id my-redis-repl-grp \
      --cache-parameter-group-name redis28-50 \
      --apply-immediately
   ```

## Menentukan Parameter Manajemen Memori Cadangan
<a name="redis-reserved-memory-management-change"></a>

Jika Anda adalah ElastiCache pelanggan saat ini pada 16 Maret 2017, parameter manajemen memori cadangan default Anda adalah `reserved-memory` dengan nol (0) byte memori cadangan. Jika Anda menjadi ElastiCache pelanggan setelah 16 Maret 2017, parameter manajemen memori cadangan default Anda adalah `reserved-memory-percent` dengan 25 persen dari memori node yang dicadangkan. Ini benar tidak masalah ketika Anda ElastiCache membuat cluster atau grup replikasi Redis OSS Anda. Namun, Anda dapat mengubah parameter manajemen memori cadangan menggunakan ElastiCache API AWS CLI atau API.

Parameter `reserved-memory` dan `reserved-memory-percent` keduanya bersifat saling eksklusif. Grup parameter selalu memiliki salah satu dari keduanya tetapi tidak pernah keduanya. Anda dapat mengubah parameter yang digunakan grup parameter untuk manajemen memori cadangan dengan mengubah grup parameter. Grup parameter harus berupa grup parameter kustom, karena Anda tidak dapat mengubah grup parameter default. Untuk informasi selengkapnya, lihat [Membuat grup ElastiCache parameter](ParameterGroups.Creating.md).

**Untuk menentukan reserved-memory-percent**  
Untuk menggunakan `reserved-memory-percent` sebagai parameter manajemen memori cadangan, ubah grup parameter kustom menggunakan perintah `modify-cache-parameter-group`. Gunakan parameter `parameter-name-values` untuk menentukan `reserved-memory-percent` dan memberikan nilai untuknya.

Contoh CLI berikut mengubah grup parameter kustom `redis32-cluster-on` sehingga menggunakan `reserved-memory-percent` untuk mengelola memori cadangan. Nilai harus diberikan ke `ParameterValue` agar grup parameter dapat menggunakan parameter `ParameterName` untuk manajemen memori cadangan. Untuk informasi selengkapnya, lihat [Memodifikasi grup ElastiCache parameter](ParameterGroups.Modifying.md).

```
aws elasticache modify-cache-parameter-group \
   --cache-parameter-group-name redis32-cluster-on \
   --parameter-name-values "ParameterName=reserved-memory-percent, ParameterValue=25"
```

**Untuk menentukan reserved-memory**  
Untuk menggunakan `reserved-memory` sebagai parameter manajemen memori cadangan, ubah grup parameter kustom menggunakan perintah `modify-cache-parameter-group`. Gunakan parameter `parameter-name-values` untuk menentukan `reserved-memory` dan memberikan nilai untuknya.

Contoh CLI berikut mengubah grup parameter kustom `redis32-m3xl` sehingga menggunakan `reserved-memory` untuk mengelola memori cadangan. Nilai harus diberikan ke `ParameterValue` agar grup parameter dapat menggunakan parameter `ParameterName` untuk manajemen memori cadangan. Karena versi mesin lebih baru dari 2.8.22, kami menetapkan nilainya menjadi `3565158400`, yaitu 25 persen `maxmemory` dari `cache.m3.xlarge`. Lihat informasi yang lebih lengkap di [Memodifikasi grup ElastiCache parameter](ParameterGroups.Modifying.md).

```
aws elasticache modify-cache-parameter-group \
   --cache-parameter-group-name redis32-m3xl \
   --parameter-name-values "ParameterName=reserved-memory, ParameterValue=3565158400"
```