2012-11-12 3 views
2

임에 데이터를 넣는 here 이것은 config를 기반으로합니다. 어떤 XML 구성을 사용하지 않고 프로그래밍 방식으로 구성을 사용하여 내 개체를 만듭니다. 나는 다음과 같은 코드로 장난 오전 : -AppFabric - 꽤 AppFabric 새로운 무엇 임은 이해하려고 노력하는 것은 내가이 게시물을 읽을</p> <p>로컬 캐시뿐만 아니라 분산 캐시로 이동하는 데이터를 원하는 규정하는 방법은 로컬 캐시

// Declare array for cache host(s). 

List<DataCacheServerEndpoint> servers = new List<DataCacheServerEndpoint>(); 
servers.Add(new DataCacheServerEndpoint("SERVER1", 10023)); 
servers.Add(new DataCacheServerEndpoint("SERVER2", 10023)); 
servers.Add(new DataCacheServerEndpoint("SERVER3", 10023)); 

DataCacheLocalCacheProperties localCacheConfig; 
TimeSpan localTimeout = new TimeSpan(0, 5, 0); 

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


// Setup the DataCacheFactory configuration. 
DataCacheFactoryConfiguration factoryConfig = new DataCacheFactoryConfiguration(); 
factoryConfig.Servers = servers; 
factoryConfig.SecurityProperties = new DataCacheSecurity(DataCacheSecurityMode.None, DataCacheProtectionLevel.None); 

factoryConfig.LocalCacheProperties = localCacheConfig; 

DataCacheFactory factory = DataCacheFactoryExtensions.Create(factoryConfig); 
DataCache dataCache = factory.GetCache("MyCache"); 

dataCache.Put("myKey", "MyValue"); 

내가 바로 가정임을 내 캐시 항목이 자동으로뿐만 아니라 로컬 캐시에 추가됩니다 factoryConfig 객체에 로컬 캐시 설정을 추가 한 때문에 분산 캐시?

따라서 분산 캐시에 캐시 된 항목 만 원한다면 factoryConfig 객체에 로컬 캐시 구성을 추가하지 않아도됩니까?

또는 각 캐시마다 하나씩 두 개의 개별 공장 구성 객체가 필요합니까?

답변

4

당신은 로컬 캐시가 활성화 된 경우 예, 객체가 로컬 캐시에 저장 될 것이다, here을 볼 수

로컬 캐시가 활성화되어

는, 캐시 클라이언트가 개체에 대한 참조를 저장합니다 장소 상에서. 기본적으로 그냥 사용 DataCacheLocalCacheProperties (로컬 캐시가 대신 app.config settings을 사용하여 활성화 할 수 있지만) -

instructions for "enabling the local cache"

당신이 한과 동일합니다. 다음 하지 사용 DataCacheLocalCacheProperties을하는 DataCacheFactory에서 찍은 DataCache 객체를 사용, 로컬없이, 단지 분산 캐시를 사용하는 -

그래서 당신이 말한대로 정확히입니다.


참고 또한 로컬 캐시 된 항목 evicted depending on the policies configured 될 수 있음 :

로컬 캐쉬에서 객체의 수명은 로컬에서 객체의 최대 개수와 같은 다양한 요인에 의존 캐시 및 무효화 정책.