AppFabric Cache – Önbellek Bildirimleri

AppFabric Cache daha önce yazdığım makalelerimde detaylarını bulabileceğiniz özellikleri yanında kullanıcılarına bildirimlerde sunmaktadır. AppFabric Cache’in bizlere sunduğu bu önbellek bildirimleri sayesinde istemci uygulamanız önbellek durumu hakkında bilgi sahibi olabilir ve bu bilgiler doğrultusunda iş mantıkları işletebilir. Asenkron olarak yapılan bu önbellek bildirimleri aynı zamanda yerel önbelleğinizin otomatik olarak hükümsüz hale gelmesine de(Invalidation) olanak sunar.

İsimlendirilmiş bir önbellekten bildirim alınabilmesi için öncelikle bu önbelleğin bildirim yapabilecek şekilde yapılandırılmış olması gerekir. PowerShell komut satırından yapabileceğiniz bu yapılandırma ya New-Cache komutu ile isimlendirilmiş önbellek oluşturulurken ya da Set-CacheConfig komutuyla mevcut bir isimlendirilmiş önbellek üzerinde yapılabilir. Varsayılan olarak tüm önbelleklerde bildirimler kapalı konumdadır ve harici olarak belirtilerek aktif hale getirilebilirler.

Bölge işlemleri ve nesne işlemleri olmak üzere iki ana grupta toplayabileceğimiz önbellek bildirimleri listesini aşağıda bulabilirsiniz;

Bölge İşlemleri

Önbellek üzerinde bulunan bölgelere dair bildirimlerin toplandığı bu grupta aşağıdaki bildirimler yer almaktadır;

  • CreateRegion   : Önbellek üzerinde yeni bir bölge oluşturulduğunda yapılan bildirimdir
  • ClearRegion      : Önbellekte bulunan bir bölge temizlendiğinde yapılan bildirimdir
  • RemoveRegion : Önbellekte bulunan bir bölge kaldırıldığında yapılan bildirimdir

 

Nesne İşlemleri

Önbellekte bulunan nesneler üzerinde yapılan işlemlere dair bildirimlerin toplandığı bu grupta aşağıdaki bildirimler yer almaktadır;

  • AddItem         : Önbelleğe bir nesne eklendiğinde yapılan bildirimdir
  • ReplaceItem  : Önbellekte yer alan bir nesne yenisi ile değiştirildiğinde yapılan bildirimdir
  • RemoveItem  : Önbellekte yer alan bir nesne kaldırıldığında yapılan bildirimdir

 

Uygulama geliştiriciler iş mantıkları gereği yukarıdaki bildirimlerden bir ya da birkaçını ve sadece belirli bir alan için almak isteyebilirler; örneğin sadece belirli bir bölge içerisinde yeni bir nesne eklendiğinde. AppFabric Cache yapısı tasarlanırken bu nokta da göz önüne alınmış ve bildirim alanları oluşturulmuştur. Uygulamalar iş mantıkları gereği bir önbellek içerisinde yapılan tüm nesne işlemleri hakkında bildirim almak isteyebileceği gibi sadece belirli bir bölgede ve hatta özellikle bir nesne üzerinde yapılan işlemler hakkında da bildirim almak isteyebilir. Bu sebeple AppFabric Cache bildirim mimarisinde önbellek, bölge ve nesne olmak üzere 3 seviyede tanımlanmış bildirim alanları bulunmaktadır.

Seçtiğiniz bildirim alanına göre aşağıda sıralanan metodlardan ihtiyacınızı karşılayanı kullanarak bir önbellekten bildirim alabilirsiniz;

  • AddCacheLevelCallback  : Bir önbellek içerisinde yer alan tüm bölge ve nesnelere ait işlemler hakkında bildirim almak için kullanılır
  • AddRegionLevelCallback :Bir önbellek içerisinde yer alan özellikle belirli bir bölge ve bu bölge içerisindeki nesneler hakkında bildirim almak için kullanılır
  • AddItemLevelCallback     : Bir önbellek içerisinde yer alan özellikle belirli bir nesne hakkında bildirim almak için kullanılır

 

Önbellek istemci uygulaması belirli aralıklarla talep edilen bildirim türü ve alanına uygun bildirimleri kontrol eder. Varsayılan olarak her 300 saniyede bir yapılan bu kontrol, istenirse uygulama yapılandırmasında değiştirilebilir.

Fatih Boy

Ankara'da yaşayan Fatih, bir kamu kurumunda danışman olarak çalışmaktadır. ALM süreçleri, kurumsal veri yolu sistemleri, kurumsal altyapı ve yazılım geliştirme konularında destek vermektedir. Boş zamanlarında açık kaynak kodlu projeler geliştirmeyi ve bilgisini yazdığı makalelerle paylaşmayı seven Fatih, aynı zamanda Visual C# ve Visual Studio teknolojileri konusundan Microsoft tarafından altı yıl üst üste MVP (En Değerli Profesyonel) ödülüne layık görülmüştür. İş hayatı boyunca masaüstü uygulamaları, web teknolojileri, akıllı istemciler gibi konularda Asp.Net, Php, C#, Java programlama dilleri ve MySql, MsSql ve Oracle gibi veritabanı yönetim yazılımları ile çalışmıştır. İngilizce ve Türkçe olarak yayınlanan makalelerini gerek İngilizce bloğunda, gerekse de Türkçe bloğunda bulabileceğiniz gibi web sitesinden de açık kaynak kodlu geliştirdiği yazılımlarına ulaşabilirsiniz. vCard - Twitter - Facebook - Google+

Bir Cevap Yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir