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
Para levanta o ServiceStatus do cache é só utilizar o comando abaixo:
PowerShell
$myhost = Get-CacheHost
Start-CacheHost $myhost.HostName $myhost.PortNo
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.