Membandingkan cache yang dirancang sendiri dari Memcached dan Redis - Amazon ElastiCache untuk Redis

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

Membandingkan cache yang dirancang sendiri dari Memcached dan Redis

Amazon ElastiCache mendukung mesin cache Memcached dan Redis. Setiap mesin menyediakan beberapa kelebihan. Gunakan informasi dalam topik ini untuk membantu Anda memilih mesin dan versi yang paling sesuai dengan kebutuhan Anda.

penting

Setelah Anda membuat klaster cache atau grup replikasi, Anda dapat memutakhirkan versi mesin ke versi lebih baru, tetapi Anda tidak dapat menurunkan ke versi mesin yang lebih lama. Jika Anda ingin menggunakan versi mesin yang lama, Anda harus menghapus klaster cache atau grup replikasi yang sudah ada dan membuatnya lagi dengan versi mesin yang lama tersebut.

Secara umum, mesin yang ada terlihat serupa. Setiap mesin merupakan penyimpanan nilai-kunci dalam memori. Namun, dalam praktiknya terdapat perbedaan yang signifikan.

Pilih Memcached jika hal berikut berlaku untuk Anda:
  • Anda membutuhkan model yang paling sederhana.

  • Anda perlu menjalankan simpul besar dengan beberapa inti atau thread.

  • Anda membutuhkan kemampuan untuk menskalakan ke luar dan ke dalam, yakni menambahkan dan menghapus simpul seiring peningkatan dan penurunan permintaan pada sistem.

  • Anda perlu menyimpan obyek ke dalam cache.

Pilih Redis dengan versi ElastiCache for Redis jika hal berikut berlaku untuk Anda:
  • ElastiCache for Redis versi 7.0 (Ditingkatkan)

    Anda ingin menggunakan Redis Functions, Sharded Pub/Sub, atau Redis ACL improvements. Untuk informasi selengkapnya, lihat Redis Versi 7.0 (Ditingkatkan).

  • ElastiCache for Redis versi 6.2 (Ditingkatkan)

    Anda ingin kemampuan untuk mengatur tingkatan data antara memori dan SSD menggunakan tipe node r6gd. Untuk informasi selengkapnya, lihat Tingkatan data.

  • ElastiCache for Redis versi 6.0 (Ditingkatkan)

    Anda ingin mengautentikasi pengguna dengan kontrol akses berbasis peran.

    Untuk informasi selengkapnya, lihat Redis Versi 6.0 (Ditingkatkan).

  • ElastiCache for Redis versi 5.0.0 (Ditingkatkan)

    Anda ingin menggunakan Redis streams, yakni struktur data log yang memungkinkan produsen untuk menambahkan item baru secara real-time dan juga memungkinkan konsumen untuk mengonsumsi pesan baik dalam mode blok atau non-blok.

    Untuk informasi selengkapnya, lihat Redis Versi 5.0.0 (Ditingkatkan).

  • ElastiCache for Redis versi 4.0.10 (Ditingkatkan)

    Mendukung enkripsi serta secara dinamis menambahkan atau menghapus serpihan dari klaster Redis (mode klaster aktif).

    Untuk informasi selengkapnya, lihat Redis Versi 4.0.10 (Ditingkatkan).

Versi berikut tidak digunakan lagi, telah mencapai atau segera mencapai akhir masa pakainya.

  • ElastiCache for Redis versi 3.2.10 (Ditingkatkan)

    Mendukung kemampuan untuk secara dinamis menambahkan atau menghapus serpihan dari klaster Redis (mode klaster aktif).

    penting

    Saat ini ElastiCache for Redis 3.2.10 tidak mendukung enkripsi.

    Untuk informasi selengkapnya, lihat berikut ini:

  • ElastiCache for Redis versi 3.2.6 (Ditingkatkan)

    Jika Anda membutuhkan fungsionalitas dari versi Redis sebelumnya ditambah fitur berikut, pilih ElastiCache for Redis 3.2.6:

  • ElastiCache for Redis (Mode klaster aktif) versi 3.2.4

    Jika Anda membutuhkan fungsionalitas Redis 2.8.x ditambah fitur berikut, pilih Redis 3.2.4 (mode berklaster):

    • Anda perlu membuat partisi data Anda di dua hingga 500 grup simpul (khusus mode berklaster).

    • Anda membutuhkan pengindeksan geospasial (mode berklaster atau mode tanpa klaster).

    • Anda tidak perlu mendukung beberapa basis data.

  • ElastiCache for Redis (mode tanpa klaster) 2.8.x dan 3.2.4 (Ditingkatkan)

    Jika hal berikut berlaku untuk Anda, pilih Redis 2.8.x atau Redis 3.2.4 (mode tanpa klaster):

    • Anda memerlukan jenis data yang kompleks, seperti string, hash, list, set, sorted set, dan bitmap.

    • Anda perlu mengurutkan atau membuat peringkat set data dalam memori.

    • Anda perlu persistensi pada penyimpanan kunci.

    • Anda perlu mereplikasi data Anda dari primer ke satu atau beberapa replika baca untuk aplikasi dengan operasi baca intensif.

    • Anda perlu melakukan failover otomatis jika simpul primer Anda gagal.

    • Anda perlu mempublikasikan dan berlangganan kemampuan (pub/sub) — untuk memberitahu klien peristiwa di server.

    • Anda memerlukan kemampuan pencadangan dan pemulihan.

    • Anda perlu mendukung beberapa basis data.

Ringkasan perbandingan Memcached, Redis (mode klaster nonaktif), dan Redis (mode klaster aktif)
Memcached Redis (mode klaster nonaktif) Redis (mode klaster aktif)
Engine versions+ 1.4.5 and later 4.0.10 and later 4.0.10 and later
Data types Simple ‡ 2.8.x - Complex * 3.2.x and later - Complex †
Complex †
Data partitioning Yes No Yes
Cluster is modifiable Yes Yes 3.2.10 and later - Limited
Online resharding No No 3.2.10 and later
Encryption in-transit 1.6.12 and later 4.0.10 and later 4.0.10 and later
Data tiering No 6.2 and later 6.2 and later
Sertifikasi kepatuhan
Compliance Certification

    FedRAMP

    HIPAA

    PCI DSS

 

Ya - 1.6.12 dan yang lebih baru

Ya - 1.6.12 dan yang lebih baru

Ya

 

4.0.10 dan yang lebih baru

4.0.10 dan yang lebih baru

4.0.10 dan yang lebih baru

 

4.0.10 dan yang lebih baru

4.0.10 dan yang lebih baru

4.0.10 dan yang lebih baru

Multi-threaded Yes No No
Node type upgrade No Yes Yes
Engine upgrading Yes Yes Yes
High availability (replication) No Yes Yes
Automatic failover No Optional Required
Pub/Sub capabilities No Yes Yes
Sorted sets No Yes Yes
Backup and restore No Yes Yes
Geospatial indexing No 4.0.10 and later Yes
Catatan:
‡ string, objects (like databases)
* string, sets, sorted sets, lists, hashes, bitmaps, hyperloglog
† string, sets, sorted sets, lists, hashes, bitmaps, hyperloglog, geospatial indexes
+ Excludes versions which are deprecated, have reached or soon to reach end of life.

Setelah Anda memilih mesin untuk klaster Anda, sebaiknya gunakan versi terbaru mesin tersebut. Untuk informasi selengkapnya, lihat Versi ElastiCache for Memcached yang Didukung atau Versi ElastiCache for Redis yang Didukung.