13 poin oleh lemonmint 2024-11-29 | 1 komentar | Bagikan ke WhatsApp

Redis memang cepat, tetapi pengambilan data yang terlalu sering dapat membebani server API. Terutama untuk data real-time yang pembaruannya tidak teratur tetapi harus sering diakses, diperlukan strategi cache yang efisien.

  • Masalah: Redis PubSub atau Keyspace Notification dapat membuat logika deteksi pembaruan dan pemrosesan pesan menjadi rumit atau menyebabkan pemborosan sumber daya.

  • Solusi: Invalidation Message yang didukung mulai Redis 6.0 adalah cara server mengelola cache klien.

    • Setelah klien membaca key, jika klien lain mengubahnya, Redis akan mengirim pesan pembaruan agar cache dihapus.
  • Implementasi: Di bahasa Go, Invalidation Message dapat diterapkan menggunakan kombinasi redigo+ristretto atau library rueidis.

    • redigo+ristretto memerlukan logika kustom, tetapi rueidis dapat diimplementasikan dengan sederhana melalui fungsi DoCache.
  • Hasil: Dalam penerapan nyata, kecepatan respons API meningkat hingga 82%, dan beban server Redis juga menurun. Pengelolaan client-side cache tetap diperlukan, tetapi efek peningkatan performanya sangat besar.

1 komentar

 
jujumilk3 2024-11-29

馃憖