Aracılığıyla paylaş


Eşzamanlılık Yöntemleri (Windows Server AppFabric Önbelleğe Alma)

Windows Server AppFabric önbelleğe alma iyimser ve karamsar eşzamanlılık modellerini destekler. Aşağıdaki bölümlerde önbellek istemci yöntemlerinin bu modellere göre nasıl düzenleneceği açıklanır. Eşzamanlılık hakkında daha fazla bilgi için bkz. Eşzamanlılık Modelleri (Windows Server AppFabric Önbelleğe Alma).

İyimser Eşzamanlılık Modeli

İyimser eşzamanlılık modelinde, önbelleğe alınmış nesnelere yapılmış güncelleştirmeler kilit almaz. Bunun yerine, önbellek istemcisi önce güncelleştirilecek nesnenin sürümünü okur ve bu sürüm bilgisini güncelleştirilmiş nesneyle birlikte gönderir. Sistem yalnızca gönderilen sürümün nesnenin geçerli sürümüyle eşleştiği durumda nesneyi güncelleştirir. Nesneye yapılan her güncelleştirme nesnenin sürüm numarasını değiştirir. Bu, güncelleştirmenin başka bir kişinin yaptığı değişikliklerin üzerine yazmasını engeller.

Yöntem Açıklama

Get

Tasarımına bağlı olarak kilitleme uygulanmadığından, Get yöntemi öğe varolduğu sürece her zaman başarılı olur. Nesne güncelleştiriliyorsa, Get yöntemi beklemez ve yalnızca nesnenin geçerli sürümü döndürülür.

GetCacheItem

Tüm DataCacheItem nesnelerini döndürür. Önbelleğe alınan nesnelere ve etiket gibi diğer bilgilere ek olarak, nesnelere yönelik sürüm bilgileri de döndürülür.

GetIfNewer

Önbelleğe alınan nesnenin veri kaynağında değişip değişmediğini denetlemek için kullanılabilir. Ağ trafiğini en aza indirmek için önbelleğe alınan nesne yalnızca daha yeni bir sürümü varsa döndürülür.

Add

İyimser eşzamanlılıkla ilişkili hiçbir ek yük getirmez. Add yöntemi başarılı veya başarısız olur.

Put

Sürüm bilgisini isteğe bağlı bir parametre olarak alarak iyimser eşzamanlılığı destekler; Put yöntemi yalnızca değiştirilecek nesne aynı sürüme sahipse başarılı olur.

Remove

Sürüm bilgisini isteğe bağlı bir parametre olarak alarak iyimser eşzamanlılığı destekler; Remove yöntemi yalnızca silinecek nesne aynı sürüme sahipse başarılı olur.

Kötümser Eşzamanlılık Modeli

Kötümser eşzamanlılık modelinde, istemci nesneleri işlem gerçekleştirmeye karşı açık olarak kilitler. Kilitler serbest bırakılıncaya kadar kilit gerektiren diğer işlemler reddedilir (sistem istekleri engellemez). Nesneler kilitlendiğinde, bir kilit tanıtıcısı döndürülür (çıkış parametresi olarak). Nesnenin kilidini açmak için kilit tanıtıcısı gereklidir. İstemcinin kilitlenen nesneyi bırakamadığı durumda, kilitleri serbest bırakmak için zaman aşımı süreleri sağlanır. Kilitlenen nesnelerin süresi hiçbir zaman dolmaz, ancak kilitleri açıldıktan sonra sona erme süreleri geçtiyse süreleri hemen dolabilir.

Not

İşlemlerin dağıtılması desteklenmez. Önbelleği kullanan uygulama, kilitlerin sırasını belirlemekten ve varsa çıkmazları algılamaktan sorumludur.

Uyarı

Önbellekte kilitlenen nesneler Put yöntemiyle herhangi bir istemci tarafından değiştirilebilir. Önbellek kullanan uygulamalar, kötümser eşzamanlılık modelini kullanan öğeler için PutAndUnlock'ı tutarlı bir şekilde kullanmaktan sorumludur.

Aşağıdaki tabloda bir nesneyi kilitlemek ve kilidini açmak için kullanabileceğiniz yöntemler gösterilir.

Yöntem Açıklama

GetAndLock

Önbelleğe alınan nesneyi döndürür ve kilitler (varsa). Kilit geçerli olduğu sürece aynı nesnedeki diğer GetAndLock yöntemi çağrıları başarısız olur. Düzenli Get yöntemi çağrıları engellenmez ve her zaman önbelleğe alınan nesnenin en son sürümüne erişir.

PutAndUnlock

Kilitlenen nesneyi güncelleştirir ve sonra kilidi serbest bırakır. GetAndLock yönteminden elde edilen kilit tanıtıcısı gerekli bir parametredir ve başarılı olması için kilitlenen nesnenin kilit tanıtıcısıyla eşleşmesi gerekir.

Unlock

Kilit tanıtıcısı parametresinin kilitlenen nesnenin kilit tanıtıcısıyla eşleşmesi koşuluyla, önbelleğe alınan nesnenin kilidini açar. Unlock ayrıca nesnenin süresinin kilidi açılır açılmaz dolmasını engellemeye yardımcı olmak için geçerli öğenin sona erme süresini uzatmayı da destekler (kilidinin açılması sona erme süresini geçtiyse).

Ayrıca bkz.

Kavramlar

Sınıfa Genel Bakış (Windows Server AppFabric Önbelleğe Alma)
Temel Önbellek Yöntemleri (Windows Server AppFabric Önbelleğe Alma)
Etiket Tabanlı Yöntemler (Windows Server AppFabric Önbelleğe Alma)
Yapılandırma Yöntemleri (Windows Server AppFabric Önbelleğe Alma)
Temel Önbellek Yöntemlerini Kullanma (Windows Server AppFabric Önbelleğe Alma)
Windows Server AppFabric Önbelleğe Alma Kavramları

  2011-12-05