Aracılığıyla paylaş


Windows Server AppFabric Yerel Önbelleğini Etkinleştirme

Windows Server AppFabric, önbellek istemcisini program yoluyla veya uygulama yapılandırma dosyası aracılığıyla yapılandırma seçeneği sunar. Aşağıdaki yordamlarda, önbellek istemcinizdeki yerel önbelleği program yoluyla nasıl yapılandıracağınız açıklanır. Bu işlemi uygulama yapılandırma dosyanızla gerçekleştirme hakkında bilgi için bkz. Windows Server AppFabric Yerel Önbelleğini Etkinleştirme (XML).

Aşağıdaki adımlarda, önbellek istemciniz için yerel önbelleği program yoluyla etkinleştirmek için gereken işlem açıklanmaktadır:

  1. DataCacheLocalCacheProperties sınıfının örneğini oluşturun. Oluşturucu parametrelerine doğru değerleri geçirerek yerel önbelleği yapılandırın. Bunlar objectCount, defaultTimeout ve invalidationPolicy değerleridir.

  2. DataCacheLocalCacheProperties nesnesini, yeni bir DataCacheFactory nesnesinin oluşturucusuna geçirin.

  3. DataCacheFactory nesnesini kullanıp GetCache yöntemini çağırarak, yerel önbelleği kullanan bir önbellek istemcisi oluşturun.

Uyarı

Bu yordamlar, geliştirme ortamınızı zaten hazırladığınızı ve başvuruları, AppFabric önbelleğe alma derlemelerine ayarladığınızı varsaymaktadır. Daha fazla bilgi için bkz. Önbellek İstemcisi Geliştirme Ortamını Hazırlama (Windows Server AppFabric Önbelleğe Alma).

Yerel önbelleği etkinleştirilmiş bir önbellek istemcisi oluşturmak için

  1. İstemcinin önbellek konaklarını belirtmek üzere DataCacheServerEndpoint nesnelerinin bir dizisini oluşturun.

  2. DataCacheLocalCacheProperties sınıfının örneğini oluşturun. Oluşturucu parametrelerine doğru değerleri geçirerek yerel önbelleği yapılandırın.

    1. objectCount parametresini kullanarak, yerel önbellekteki nesne sayısı üst sınırını belirtin.

    2. defaultTimeout parametresini kullanarak, bir nesnenin geçersiz kılınıncaya kadar yerel önbellekte kalacağı süreyi belirleyen bir System.TimeSpan nesnesi belirtin.

    3. invalidationPolicy parametresini kullanarak, yerel olarak önbelleğe alınmış nesnelerin nasıl geçersiz kılınacağını belirtin. Yalnızca zaman aşımı değerinin kullanılması gerektiğini belirtmek üzere DataCacheLocalCacheInvalidationPolicy.TimeoutBased parametresini belirtin. Zaman aşımlarının yanı sıra önbellek bildirimlerinin de kullanılacağını belirtmek üzere DataCacheLocalCacheInvalidationPolicy.NotificationBased parametresini belirtin. Daha fazla bilgi için bkz. Önbellek İstemcileri ve Yerel Önbellek (Windows Server AppFabric Önbelleğe Alma).

  3. Geçersiz kılma ilkesi için DataCacheLocalCacheInvalidationPolicy.NotificationBased parametresini seçtiyseniz, önbellek istemcisinin yerel olarak önbelleğe alınmış nesnelerle ilgili güncelleştirme bildirimleri için önbellek kümesiyle iletişim kurma sıklığını isteğe bağlı olarak denetleyebilirsiniz. Bunu yapmak için, DataCacheNotificationProperties sınıfının örneğini oluşturun. Oluşturucu parametrelerine doğru değerleri geçirerek bildirim ayarlarını yapılandırın.

    1. PollInterval parametresini kullanarak, önbellek istemcisinin önbellek bildirimleri için önbellek kümesini denetleme aralığına yönelik bir System.Timespan nesnesi belirtin. Önbellek bildirimleri için yerel önbelleğin gerekli olmadığını unutmayın. Daha fazla bilgi için bkz. Önbellek Bildirimleri (Windows Server AppFabric Önbelleğe Alma).

    2. MaxQueueLength parametresi bildirimlerin sıra uzunluğunu denetler, ancak yerel önbelleği etkilemez. Varsayılan değer 16384'tür.

  4. DataCacheFactoryConfiguration sınıfının örneğini oluşturun.

  5. İlk adımda oluşturduğunuz önbellek konağı dizisini DataCacheFactoryConfiguration nesnesinin Servers özelliğine atayarak önbellek konaklarınızı yapılandırın.

  6. İkinci adımda oluşturulan DataCacheLocalCacheProperties nesnesini DataCacheFactoryConfiguration nesnesinin LocalCacheProperties özelliğine atayarak yerel önbelleği yapılandırın.

  7. Gerekirse, üçüncü adımda oluşturulan DataCacheNotificationProperties nesnesini DataCacheFactoryConfiguration nesnesinin NotificationProperties özelliğine atayarak bildirim özelliklerini yapılandırın.

  8. DataCacheFactoryConfiguration nesnesini, DataCacheFactory sınıfının oluşturucusuna geçirin.

  9. GetCache yöntemini kullanarak, DataCacheFactoryConfiguration nesnesinin ayarlarına dayalı bir DataCache sınıfı edinin.

Not

Yerel önbelleği geçersiz kılma ilkesi için DataCacheLocalCacheInvalidationPolicy.NotificationBased parametresini seçtiyseniz, hedef önbelleğin bildirimler etkinleştirilmiş olarak yapılandırılması gerekir. Daha fazla bilgi için bkz. Windows Server AppFabric Önbelleğe Alma Özelliklerini Yönetmek için Windows PowerShell Kullanma.

Örnek

Bu örnekte, yerel önbelleğin etkinleştirilmiş olduğu bir önbellek istemcisinin program yoluyla yapılandırılması gösterilmektedir. Bu istemci NamedCache1 adlı bir önbellek kullanacak biçimde yapılandırılmıştır ve CacheServer2 adlı bir önbellek sunucusuna işaret eder. Bu örneği kendi uygulamanızda kullanmak için, örnekteki sunucu özelliklerinin yerine kendi önbellek sunucularınızın özelliklerini kullanın. Kümedeki diğer her bir önbellek konağı için sunucu dizisine DataCacheServerEndPoint nesneleri ekleyin.

Temel konak olarak atanmış diğer önbellek konaklarını belirtin. Temel konaklar genellikle kümeye ilk yüklenen önbellek sunucularıdır. Temel konaklar hakkında daha fazla bilgi için bkz. Windows Server AppFabric Önbelleğe Alma Fiziksel Mimarisi Diyagramı. Windows PowerShell yönetim aracını kullanarak, hangi konakların temel konak olduklarını belirleyebilirsiniz. Windows PowerShell hakkında daha fazla bilgi için bkz. Windows Server AppFabric Önbelleğe Alma Özelliklerini Yönetmek için Windows PowerShell Kullanma. İlk önce sunucu dizisi oluşturulur. Bu örnekte, CacheServer2 adlı bir önbellek konağı yapılandırılmaktadır.

' Declare array for cache host(s).
Dim servers(0) As DataCacheServerEndpoint
servers(0) = New DataCacheServerEndpoint("CacheServer2", 22233)
// Declare array for cache host(s).
DataCacheServerEndpoint[] servers = new DataCacheServerEndpoint[1];
servers[0] = new DataCacheServerEndpoint("CacheServer2", 22233);

Daha sonra bir DataCacheLocalCacheProperties nesnesi oluşturun. Bu örnekteki yerel önbellek, nesne sayısı olarak 10000 ve zaman aşımı olarak 30 saniye değerleriyle oluşturulur.

' Set the local cache properties. In this example, it
' is timeout-based with a timeout of 30 seconds.
Dim localCacheConfig As DataCacheLocalCacheProperties
Dim localTimeout As TimeSpan = New TimeSpan(0, 0, 30)

localCacheConfig = New DataCacheLocalCacheProperties(10000, _
   localTimeout, DataCacheLocalCacheInvalidationPolicy.TimeoutBased)
// Set the local cache properties. In this example, it
// is timeout-based with a timeout of 30 seconds.
DataCacheLocalCacheProperties localCacheConfig;
TimeSpan localTimeout = new TimeSpan(0, 0, 30);

localCacheConfig = new DataCacheLocalCacheProperties(10000, 
   localTimeout, DataCacheLocalCacheInvalidationPolicy.TimeoutBased);

Daha sonra bir DataCacheFactoryConfiguration nesnesi oluşturun. servers dizisini Servers özelliğine atayın. localCacheConfig nesnesini LocalCacheProperties özelliğine atayın.

' Setup the DataCacheFactory configuration.
Dim factoryConfig As DataCacheFactoryConfiguration
factoryConfig = New DataCacheFactoryConfiguration

factoryConfig.Servers = servers
factoryConfig.LocalCacheProperties = localCacheConfig
// Setup the DataCacheFactory configuration.
DataCacheFactoryConfiguration factoryConfig = 
   new DataCacheFactoryConfiguration();

factoryConfig.Servers = servers;
factoryConfig.LocalCacheProperties = localCacheConfig;

Ardından, DataCacheFactoryConfiguration nesnesini DataCacheFactory sınıf oluşturucusuna geçirin ve GetCache yöntemiyle önbellek istemcisinin örneğini oluşturun. Bu örnekte, NamedCache1 adlı bir önbellek için önbellek istemcisi oluşturulmaktadır.

' Create a configured DataCacheFactory object.
Dim mycacheFactory As DataCacheFactory
mycacheFactory = New DataCacheFactory(factoryConfig)

' Get a cache client for the cache "NamedCache1".
Dim myDefaultCache As DataCache
myDefaultCache = mycacheFactory.GetCache("NamedCache1")
// Create a configured DataCacheFactory object.
DataCacheFactory mycacheFactory = new DataCacheFactory(factoryConfig);

// Get a cache client for the cache "NamedCache1".
DataCache myDefaultCache = mycacheFactory.GetCache("NamedCache1");

Not

Performanstan kaynaklanan nedenlerle, önbelleği kullanan bir uygulamada oluşturulan DataCacheFactory nesnelerinin sayısını en aza indirmeniz önerilir. DataCacheFactory nesnesini, önbellek istemcilerini kullanan uygulamanın tüm bölümleri tarafından kullanılabilen bir değişkende depolayın.

Ayrıca bkz.

Kavramlar

Windows Server AppFabric Önbellek İstemcisini Kullanmaya Başlama
Önbellek İstemcisi Günlük Düzeyini Değiştirme (Windows Server AppFabric Önbelleğe Alma)
Önbellek İstemcileri ve Yerel Önbellek (Windows Server AppFabric Önbelleğe Alma)
Windows Server AppFabric Önbelleğe Alma Kavramları
Önbellek İstemcisi Geliştirme (Windows Server AppFabric Önbelleğe Alma)

Diğer Kaynaklar

Önbellek İstemcisini XML ile Yapılandırma

  2011-12-05