cache strategies
Last updated
Last updated
Planlanmış ve Önceden Yüklenmiş Cache Yönetemi
Bu cache stratejisinde hizmetimiz ayağa kalkarken db’mizde bulunan tüm veriler cachlenir ve gelen istekler db gitmek yerine direkt cacheden okunarak alınır. X zamanda bir db’mizde bulunan veriler cache yazılarak cache güncel tutulur. (Tabii ki X zaman kadar verilerimiz doğru olmayabilir %100 kararlı bir veri olmayacaktır.)
Ön Bellekten Okuma Yöntemi
Bu cache stratejisinde gelen istek cache'de mevcut mu diye kontrol edilir eğer değilse veri db’den çekilir ve cache sistemine kaydedilir. Bu şekilde gelecek bir sonraki işlem direkt olarak cacheden yüklenecektir.
Önbelleğe Yazma Yöntemi
Bu cache stratejisinde ise db’de yapılan create, delete, update gibi işlemlerden sonra veri anında cache yazılır veya cachede varsa güncellenir. Bu şekilde db ile cache daima senkron olacaktır. Tabii ki bu yapılacak olan create, update, delete gibi işlemlerin süresini uzatacaktır ve belli bir kaynağa maal olacaktır.
Önceden Yüklenmiş Önbelleğe Yazma Yöntemi
Bu işlemde tüm veriler yine hizmetimiz ayağa kalkarken cache yazılır daha sonra cache yazılan bu veriler dinamik olması için her create, update ve delete eşlemlerinden sonra cachede bulunan veriler güncellenir. Bu şekilde verilerin kararlılık oranı çok yüksek olacaktır.
Local cache genelde uygulamamız çalışırken ram belleğe alınan cachelerdir. Bu cacheler uygulamamız restart olduğunda veya yeni bir sürümü deploy almak istediğimizde otomatik olarak boşalacağından dolayı tekrar tüm verilerimizin cachelenmesi gerekecektir.
Dağıtılmış cache sisteminde cachelenen veriler farklı bir makinada veya hizmette depolanacağından dolayı uygulamamızın yeniden başlatılması vb durumlarda cache datamız sıfırlanmayacak ve kullanılabilir durumda olacaktır. Tabii bu yöntem için daha fazla kaynak gerekmektedir.
Kaynak: https://medium.com/outbrain-engineering/caching-strategies-in-high-throughput-systems-733189e62a4d