Em um post anterior, falamos do AppFabric Caching e como ele pode nos auxiliar a escalar nossa camada de acesso a dados, em um poderoso cluster de cache, ou seja, um cache centralizado onde não importa se você tem uma aplicação web, windows forms, uma aplicação em WPF ou até mesmo um conjunto de aplicações em uma destas tecnologias, elas poderão compartilhar o mesmo cache; elas irão compartilhar na verdade um cache distribuido. O AppFabric Caching, possui um conjunto de api´s, que podem ser utilizadas, para interagir com o cache armazenando objetos, recuperando objetos, trabalhando com regions enfim para de várias formas manipular o cache.
     As classes para se trabalhar com o AppFabric Caching, ficam em dois assemblies, são eles : Microsoft.ApplicationServer.Client  e Microsoft.ApplicationServer.Core .
Caches
     O AppFabric Caching, permite que você possa ter múltiplos caches, em seu cluster de cache; isto quer dizer, que você pode ter um cache para cada aplicação, ou, ter tantos caches que você tiver necessidade de criar. E isto pode ser feito através de comandos powershell. Com o comando powershell abaixo, você cria um cache, e é super simples, é só utilizar o comando citado e dar um nome ao cache da sua aplicação.
 
PowerShell
New-Cache Nome_Cache
 
 
     É preciso notar, se o ServiceStatus do seu cache se como mostra a figura abaixo, se ele estiver DOWN, você irá precisar usar um comando powershell para levantar o ServiceStatus e habilitar o cache criado a ser utilizado.



    Para levanta o ServiceStatus do cache é só utilizar o comando abaixo:
 
PowerShell
$myhost = Get-CacheHost
Start-CacheHost $myhost.HostName $myhost.PortNo
 
    Primeiro você obtêm o host, e depois utilize o comando Start-CacheHost que espera dois parâmetros: o hostname e o número da porta do mesmo. Após utilizar o comando, o cache poderá ser utilizado, como mostra a figura abaixo:
 
 
Classes da API
     Vamos agora, falar das classes que você irá utilizar para manipular o cache.
 
DataCacheFactory : Esta classe é responsável por criar uma Factory do cache, é através dela que você poderá buscar o cache com o qual você vai trabalhar. Ela tem algumas opções no construtor em que você pode especificar sua configuração, ou, instanciar sem parâmetros para que ele busque automaticamente as configurações, ou até mesmo passar um objeto da classe DataCacheFactoryConfiguration com as configurações do servidor de cache.
DataCache: Esta classe, representa o cache em si. Utilizando o método GetCache(“NOME_CACHE”) da classe DataCacheFactory( ObjetoDataCacheFactory.GetCache(“NOME_CACHE”)  ), você obtem uma instância deste objeto, que será utilizado para armazenar os objetos. Para armazenar os objetos no cache, é super simples. Basta utilizar o método Put(CHAVE, OBJETO), da classe DataCache. E para recuperar é só utilizar o método Get(CHAVE). Exemplo:
 
DataCacheFactory factory  = new DataCacheFactory(); //criando a factory
DataCache cache = factory.GetCache(“CACHE_APLICACAO”);  //obtendo o cache
cache.Put( “ClienteLogado”, new Cliente() ); //gravando um objeto no cache
 
Recuperando dados
 
Cliente objCliente = cache.Get(“ClienteLogado”);
 
     Veja que a API do AppFabricCaching é super simples de utilizar. Vale destacar, que, podemos armazenar qualquer objeto que seja serializável, isto nos permite, trabalhar com nossos objetos sem a preocupação se o mesmo poderá ser armazenado ou não no cache, a não ser que o mesmo suporte serialização.
     Bom pessoal espero que tenham gostado ao artigo e iremos continuar publicando, conteúdo a respeito desta fantástica tecnologia que é o AppFabric Caching. Agora é só praticar e poder usufruir desta tecnologia, para ter uma camada de acesso a dados, mais rápida e escalonável.