.Net Core — Cache distribuído com Redis
Aplicações baseadas no ASP.NET Core devem utilizar a interface IDistributedCache (namespace Microsoft.Extensions.Caching.Distributed) para trabalhar com cache distribuído.
O primeiro passo para trabalhar com Redis em seu projeto .net core é adicionar o pacote Microsoft.Extensions.Caching.Redis. Veja imagem ilustrativa abaixo

Em seguida crie uma string de conexão para o redis no appsettings.json (você pode consultar as opções adicionais para a string de conexão nesse link: https://stackexchange.github.io/StackExchange.Redis/Configuration.html), veja imagem abaixo (não esquece de substituir seu_ip pelo endereço ip do Redis):

Na classe Sartup.cs em configureServices adicione o serviço do Redis conforme imagem abaixo.

Agora vou mostrar a implementação exemplo no controller da api (utilizei o template de api padrão do visual studio).
A ideia do código é cachear uma mensagem de retorno que contem o horário do servidor.
No método da imagem abaixo, primeiro verifico se existe cache no Redis (através do cache.GetString), caso não exista a chave “time” eu pego o horário do servidor e adiciono a chave time no Redis (através do cache.SetString )atribuindo um tempo de expiração de 2 minutos.
No final do método eu retorno o horário através da variável retorno que terá seu conteúdo atualizado a cada 2 minutos.

Testando o código:
Na primeira chamada não teremos cache no Redis logo teremos algo como a imagem abaixo:

Na segunda chamada a url o valor retornado é o que esta no cache, ou seja, o horário do relógio do servidor vai mudar mas o valor que a api retorna se manterá o mesmo durante 2 minutos.
Isso ai jovens! .Net Core com Redis rodando — Bora brincar!
