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.