Click here to Skip to main content
65,938 articles
CodeProject is changing. Read more.
Articles / cache

How to Enable Local Cache When Using Velocity (Microsoft Distributed Cache)

0.00/5 (No votes)
26 Jul 2010CPOL 12.4K  
The tip explains how to enable the local cache feature of Velocity (Microsoft Distributed Cache).

Since I got this question twice this week, I'm writing this post. One of Velocity (Microsoft Distributed Cache) features is called local cache. In this tip I'll show how to enable that feature.


Velocity Client Local Cache


Local cache is a Velocity feature that can help speed up access on Velocity clients.
When enabled, a de-serialized copy of the object is saved in the client memory.
Before retrieving cached objects, the client cache will first checks whether the object exists locally and if so will get it from the local cache.


Enabling Local Cache


There are two ways to enable local cache on a Velocity client:



  • The runtime way - the DataCacheFactory object has a constructor that gets as parameter whether the local cache is enabled.
    for example:
    DataCacheServerEndpoint[] servers = new DataCacheServerEndpoint[1];
    servers[0] = new DataCacheServerEndpoint("localhost",
                            22233, "DistributedCacheService");
    bool routingClient = false;
    
    // True = Enable local cache
    // False = Disable local cache
    bool localCache = true;
    var factory = new DataCacheFactory(servers,
        routingClient, localCache);
    var cache = factory.GetCache("default");


  • The configuration way - in the client config file, we we use the localCache attribute like in the following example:
    <dcacheClient deployment="simple" localCache="true">
      <hosts>    
        <host name="localhost"
              cachePort="22233"
              cacheHostName="DistributedCacheService" />
      </hosts>
    </dcacheClient> 

Summary


Local cache is a very useful feature of Velocity. It can help to boost the performance of an application that uses Velocity to new heights.



     

License

This article, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)