Aracılığıyla paylaş


Önbellek Bildirimleri (Windows Server AppFabric Önbelleğe Alma)

Windows Server AppFabric, önbellek kümesinde çeşitli önbellek işlemleri meydana geldiğinde uygulamalarınızın zaman uyumlu olmayan bildirimler almasını sağlayan önbellek bildirimleri sunar. Önbellek bildirimleri, yerel olarak önbelleğe alınan nesnelerin otomatik olarak geçersiz kılınmasını da sağlar. Daha fazla bilgi için bkz. Süre Sonu ve Çıkarma (Windows Server AppFabric Önbelleğe Alma).

Zaman uyumlu olmayan önbellek bildirimleri almak için uygulamanıza bir önbellek bildirimi geri çağrısı ekleyin. Bir geri çağrı eklerken, bir önbellek bildirimini tetikleyen önbellek işlemi türlerini ve belirtilen işlemler meydana geldiğinde uygulamanızda hangi yöntemin çağrılacağını belirtin. Bu konuda, işlem ayrıntılı olarak açıklanmıştır.

Not

Önbellek bildirimlerini kullanmak üzere, Windows PowerShell tabanlı önbellek yönetimi aracında New-Cache veya Set-CacheConfig Windows PowerShell komutları aracılığıyla adlandırılmış bir önbellek için önbellek bildirimlerini etkinleştirmelisiniz.

Önbellek Bildirimlerini Tetikleme

Aşağıdaki şekilde de gösterildiği gibi, hem bölge hem de önbelleğe alınan nesne (önbellek içindeki öğeler olarak adlandırılır) değişiklikleri, önbellek bildirimlerini tetikleyebilir.

Önbellek bildirimlerini tetikleyen değişiklikler

Bu önbellek işlemleri, DataCacheOperations sınıfının üyeleri tarafından tanımlanır.

Bölge İşlemleri

Bir bölgede aşağıdaki önbellek işlemleri meydana geldiğinde uygulamanız önbellek bildirimleri alabilir:

Öğe İşlemleri

Önbelleğe alınan öğede (önbellek içindeki öğe olarak adlandırılır) aşağıdaki önbellek işlemleri meydana geldiğinde uygulamanız önbellek bildirimleri alabilir.

  • AddItem: Önbelleğe bir öğe eklendiğinde.

  • ReplaceItem: Önbellekteki bir öğe başka bir öğeyle değiştirildiğinde.

  • RemoveItem: Önbellekten bir öğe kaldırıldığında.

Not

Bu öğe işlemlerinin, belirli bir bölgenin içinde meydana gelmesi gerekmez. Geri çağrınızın bildirim kapsamını belirli bir bölge ile sınırlamayı seçebilirsiniz. Bu işlem, bu belgenin Bildirim Kapsamı bölümünde ele alınmaktadır.

Bildirim Kapsamı

Uygulamanızın etkinliğine ve ihtiyaçlarına bağlı olarak, önbelleğin tamamındaki her nesne ve bölgenin olaylarına dikkat etmek istemeyebilirsiniz. AppFabric, bildirimlerinizin kapsamını önbellek düzeyinden bölge ve öğe düzeyine daraltmanızı sağlar. Aşağıdaki diyagramda da görüldüğü gibi, bir geri çağrı eklediğinizde seçtiğiniz bildirim kapsamı hangi önbellek bildirimlerini alacağınızı büyük oranda etkiler.

Önbellek Bildirim Kapsamı

Önbellek düzeyinde, uygulamanız önbellekte bulunan tüm nesne ve bölgelerin önbellek işlemleri hakkında bilgilendirilebilir. Bölge düzeyinde, uygulamanız yalnızca tek bir bölgenin ve bu bölge içindeki nesnelerin önbellek işlemleri hakkında bilgilendirilir. Öğe düzeyinde, uygulamanız yalnızca tek bir nesneye yönelik önbellek işlemleri hakkında bilgilendirilir.

İstediğiniz bildirim kapsamını belirlemek için bir önbellek bildirimi geri çağrısı eklemek üzere bu üç yöntemden birini seçin:

  • AddCacheLevelCallback: Tüm bölge ve öğelerde meydana gelen bölge ve öğe tabanlı önbellek işlemleri konusunda bilgilendirilmek istiyorsanız.

  • AddRegionLevelCallback: Belirli bir bölgede meydana gelen bölge ve öğe tabanlı önbellek işlemleri konusunda bilgilendirilmek istiyorsanız.

  • AddItemLevelCallback: Belirli bir öğede meydana gelen öğe tabanlı önbellek işlemleri konusunda bilgilendirilmek istiyorsanız.

Bildirim Sırası

Önbellek istemcisi tarafından alınan bildirimlerin sırası, tek bir bölge bağlamında bellidir. Örneğin, RegionA adlı bir bölge oluşturduğunuzu varsayın. Bir önbellek bölgesine yerleştirilen tüm veriler aynı bölgeyle sınırlı olduğundan, RegionA ile ilgili tüm önbellek işlemleri (bölge düzeyinde bildirim kapsamı) önbellek istemcisine kendi içlerindeki sırada gelir. Başka önbellek konaklarında meydana gelen bölge ve öğe tabanlı önbellek işlemlerinin RegionA içinde meydana gelen işlemlere göre uygun sırada geleceklerinin garantisi yoktur.

Performans açısından, aynı bölgede depolanmış olmayan bir veya daha fazla bölge veya nesneye ilişkin bildirimlerin sırası için garanti verilemez.

DataCacheItemVersion nesnesi biçimindeki öğe olayları için sürüm bilgileri, version parametresi ile önbellek bildirimi tarafından çağrılan yönteme geçirilir. Bu DataCacheItemVersion nesnesi, öğe olayını tetikleyen nesnenin sürümüne karşılık gelir. CompareTo yöntemini kullanarak hangi önbellek işlemlerinin önce geldiğini belirlemek için sürümleri karşılaştırabilirsiniz.

Not

Sürüm karışlaştırmaları yalnızca aynı anahtar ile belirtilen aynı öğe sürümlerini karşılaştırdığınızda anlamlıdır. Farklı anahtarların sürümlerini karşılaştırarak sırayı anlamak mümkün değildir; CompareTo yöntemi bir sonuç döndürebilir, ancak bu sonuç yalnızca aynı anahtarın sürümleri için geçerlidir.

Yoklama Aralığı

Önbellek bildirimleri kullandığınızda uygulamanız, yeni bildirimlerin olup olmadığını öğrenmek için düzenli aralıklarla önbellek kümesine başvurur. Yoklama aralığı adı verilen bu aralık, varsayılan olarak 300 saniyede birdir.

Yoklama aralığı, uygulama yapılandırma ayarlarında saniye cinsinden belirtilir. Uygun bir aralık belirtmek için uygulama yapılandırma dosyasında clientNotifications öğesinin pollInterval özniteliğini kullanabilirsiniz. Belirli bir yoklama aralığını program aracılığıyla DataCacheFactoryConfiguration nesnesinin NotificationProperties özelliğiyle de belirtebilirsiniz.

Bildirimler Kaybolduğunda

Önbellek konakları, belleklerinde yalnızca belirli sayıda önbellek işlemi saklayabilir. Sistem yüküne bağlı olarak, bazı önbellek istemcilerinin, bildirimler önbellek konağı sıralarında kesilmeden önce bunları alamaması olasılığı vardır. Kümenin diğer kısımları çalışmaya devam ederken önbellek sunucusu hatası nedeniyle veriler kaybolduğunda da önbellek istemcileri bildirimleri almayabilir. Bu durumlarda, önbellek istemciniz bir hata bildirimi aracılığıyla bazı önbellek bildirimlerini kaçırdığını tespit edebilir. Uygulamanız, AddFailureNotificationCallback yöntemini kullanarak hata bildirimlerini almak için bir geri çağrı ekleyebilir. Daha fazla bilgi için bkz. Hata Bildirimi Geri Çağırması Ekleme (Windows Server AppFabric Önbelleğe Alma)

Önbellek Kümesi Kaybolduğunda

Bildirim kaybı ve önbellek kümesi kaybı arasında önemli bir fark vardır. Uygulamanız bir veya daha fazla bildirim kaybederse bir hata bildirimi aracılığıyla bu kayıptan haberdar olabilir. Önbellek kümesinin tamamı durdurulduğunda, yeniden başlatıldığında veya başka şekilde kaybolduğunda hiçbir bildirim tetiklenmez. Bunun yerine önbellek istemciniz, önbelleği bir sonraki kullanma denemenizde küme ile bağlantı kuramazsa özel durumlar oluşturacaktır.

Not

Önbellek bildirimleri yalnızca kümedeki bölge ve önbellek öğelerinde yapılan veriyle ilgili değişiklikleri bildirir; kümenin kendisindeki olayları bildirmez.

Önbellek Bildirimlerini Etkinleştirme

Önbellek bildirimleri özelliği, küme yapılandırma ayarlarında önbellek düzeyinde yapılandırılır. Önbelleğin bu özelliğini, önbelleği ilk oluşturduğunuzda New-Cache komutunu NotificationsEnabled anahtarıyla kullanarak etkinleştirebilirsiniz. Varsayılan olarak, yeni bir önbellek oluşturduğunuzda önbellek bildirimleri özelliği devre dışıdır. Önbellek yapılandırma ayarlarını düzenleme hakkında daha fazla bilgi için bkz. Windows PowerShell ile Önbellek Yapılandırma Ayarlarını Düzenleme (Windows Server AppFabric Önbelleğe Alma).

Önbellek bildirimlerini almak üzere bir geri çağrı eklemek için uygulama yapılandırma ayarları gerekli değildir. Belirli bir yoklama aralığı belirtmek için uygulama yapılandırma ayarlarını kullanabilirsiniz. Varsayılan olarak, yoklama aralığı 300 saniyedir. Başka bir süre belirtmek istiyorsanız, XML tabanlı uygulama yapılandırma dosyasında clientNotification öğesini kullanın veya istediğiniz aralığı program aracılığıyla DataCacheFactoryConfiguration nesnesinin NotificationsProperties özelliğiyle belirtin.

Önbellek Bildirimlerini Kullanma

Önbellek bildirimleri etkinleştirildikten sonra, önbellek bildirimlerini kullanarak gerçekleştirilebilecek üç görev vardır: önbellek bildirimi geri çağrıları eklemek, hata bildirimi geri çağrısı eklemek ve önbellek bildirimi geri çağrılarını kaldırmak. Bu görevlerin her biriyle ilgili yordamlar Önbellek Bildirimleri Kullanma (Windows Server AppFabric Önbelleğe Alma) bölümünde açıklanmıştır.

Ayrıca bkz.

Kavramlar

Windows Server AppFabric Önbelleğe Alma Fiziksel Mimarisi Diyagramı
Windows Server AppFabric Önbelleğe Alma Mantıksal Mimarisi Diyagramı
Önbellek İstemcisi Geliştirme (Windows Server AppFabric Önbelleğe Alma)

  2011-12-05