Redis hızlıdır, ancak sık veri sorguları API sunucusuna yük bindirir. Özellikle gerçek zamanlı veriler gibi güncellemelerin düzensiz olduğu ama sıkça sorgulanması gereken durumlarda, verimli bir önbellek stratejisi gerekir.
-
Sorun: Redis PubSub veya Keyspace Notification, güncelleme algılama ve mesaj işleme mantığını karmaşıklaştırabilir ya da kaynak israfına yol açabilir.
-
Çözüm: Redis 6.0 ile desteklenen Invalidation Message, sunucunun istemci önbelleğini yönettiği bir yöntemdir.
- İstemci bir anahtarı okuduktan sonra başka bir istemci onu değiştirirse, Redis bir güncelleme mesajı göndererek önbelleğin silinmesini sağlar.
-
Uygulama: Go dilinde redigo+ristretto kombinasyonu veya rueidis kütüphanesi kullanılarak Invalidation Message uygulanabilir.
- redigo+ristretto özel mantık gerektirir, ancak rueidis bunu
DoCachefonksiyonuyla kolayca uygulamayı mümkün kılar.
- redigo+ristretto özel mantık gerektirir, ancak rueidis bunu
-
Sonuç: Gerçek uygulama sonuçlarına göre API yanıt hızı en fazla %82 iyileşti ve Redis sunucusunun yükü de azaldı. İstemci tarafı önbelleğin yönetilmesi gerekse de performans artışı oldukça büyüktür.
1 yorum
👀