Praktik terbaik Redis OSS - Amazon ElastiCache (Redis OSS)

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

Praktik terbaik Redis OSS

Berikut ini adalah praktik terbaik saat menggunakan Redis OSS untuk meningkatkan kinerja dan keandalan:

  • Gunakan konfigurasi berkemampuan mode cluster — Mode cluster yang diaktifkan memungkinkan cache untuk menskalakan secara horizontal untuk mencapai penyimpanan dan throughput yang lebih tinggi daripada konfigurasi yang dinonaktifkan mode cluster. ElastiCache tanpa server hanya tersedia dalam konfigurasi yang diaktifkan mode cluster.

  • Gunakan koneksi berumur panjang – Pembuatan koneksi baru menghabiskan banyak daya komputasi, serta membutuhkan waktu dan sumber daya CPU dari cache. Gunakan kembali koneksi jika memungkinkan (misalnya dengan pooling koneksi) untuk menyebarkan beban ini melalui banyak perintah.

  • Baca dari replika - Jika Anda menggunakan ElastiCache tanpa server atau telah menyediakan replika baca (cluster yang dirancang sendiri), arahkan pembacaan ke replika untuk mencapai skalabilitas yang lebih baik dan/atau latensi yang lebih rendah. Pembacaan dari replika pada akhirnya akan konsisten dengan yang primer.

    Dalam klaster yang dirancang sendiri, hindari mengarahkan permintaan baca ke satu replika baca karena pembacaan mungkin tidak tersedia sementara jika simpul gagal. Konfigurasikan klien Anda untuk mengarahkan permintaan baca ke setidaknya dua replika baca, atau arahkan permintaan baca ke replika tunggal dan primer.

    Dalam ElastiCache tanpa server, membaca dari port replika (6380) akan mengarahkan pembacaan ke zona ketersediaan lokal klien jika memungkinkan, mengurangi latensi pengambilan. Hal ini akan secara otomatis melakukan fallback ke simpul lainnya selama kegagalan.

  • Hindari perintah yang menghabiskan banyak daya komputasi – Hindari menjalankan operasi yang sarat komputasi dan I/O, seperti perintah KEYS dan SMEMBERS. Pendekatan ini disarankan karena operasi ini meningkatkan beban pada klaster dan memiliki dampak pada performa klaster. Sebagai gantinya, gunakan perintah SCAN dan SSCAN.

  • Ikuti praktik terbaik Lua – Hindari menjalankan skrip Lua terlalu lama, dan selalu nyatakan kunci yang digunakan dalam skrip Lua di depan. Pendekatan ini disarankan untuk menentukan bahwa skrip Lua tidak menggunakan perintah cross slot. Pastikan bahwa kunci yang digunakan dalam skrip Lua adalah milik slot yang sama.

  • Gunakan pub/sub sharded - Saat menggunakan Redis OSS untuk mendukung beban kerja pub/sub dengan throughput tinggi, kami sarankan Anda menggunakan pub/sub sharded (tersedia dengan Redis OSS 7 atau lebih baru). Pub/sub biasa dalam klaster dengan mode klaster diaktifkan akan menyiarkan pesan ke semua simpul di klaster, yang dapat menghasilkan EngineCPUUtilization yang tinggi. Perhatikan bahwa dalam ElastiCache tanpa server, perintah pub/sub tradisional secara internal menggunakan perintah pub/sub sharded.