Você está na página 1de 24

Cache geral

Por que usar?


Redis
Ademir Leal
ín 1. O que é cache e seus benefícios.

di 2. Tipos de cache.

3. Redis.

ce
4. Exemplo implementação do

Redis .Net Core.


O que é cache e
seus benefícios
O que é cache e seus benefícios

Cache
É uma camada de armazenamento físico de dados de alta velocidade que guarda
um subconjunto de dados.

É geralmente temporário por natureza, para que futuras solicitações referentes a


esses dados sejam atendidas de modo mais rápido do que é possível fazer ao
acessar o local de armazenamento principal de dados.
O que é cache e seus benefícios

Cache
O que é cache e seus benefícios

Cache
Os dados em um cache geralmente são armazenados no hardware de acesso rápido,
como uma Random-access memory (RAM – Memória de acesso aleatório).

O principal objetivo de um cache é aumentar a performance da recuperação de


dados ao reduzir a necessidade de acessar a camada subjacente mais lenta de
armazenamento.

Diminuição de acessos a fonte economizando recursos.


O que é cache e seus benefícios

Cache
Tempo de vida do cache.

É importante entender a validez dos dados que estão sendo armazenados em cache.
Um cache bem-sucedido resulta em uma alta taxa de acertos.

Dados que modificam muito rapidamente não faz sentido cache.


Tipos de cache
Tipos de cache

Utilização do cache
Os caches podem ser aplicados e utilizados entre várias camadas de tecnologia.

Sistemas operacionais.

Camadas de redes (DNS, CDN).

Aplicativos web e mobile (localStorage, Service Workers).

Cache Geral
Tipos de cache

Cache local.

Cache distribuído.
Tipos de cache

Cache distribuído

É coerente (consistente) entre as requisições pelos vários servidores da aplicação.

Não se perde se a aplicação reiniciar.

Não utiliza a memória local da instância da aplicação.


#01 Sua empresa é ágil ?

05:30
Redis
Redis

O Redis, que significa Remote Dictionary Server, é um armazenamento de dados de


valor-chave na memória, rápido e de código aberto, para uso como banco de dados,
cache, intermediário de mensagens e fila.

O projeto começou quando Salvatore Sanfilippo, o desenvolvedor original do Redis,


estava tentando melhorar a escalabilidade de sua startup italiana. Hoje é mantido pela
empresa Redis Labs.

Utilização em Jogos, Ad-Tech, Serviços Financeiros, Assistência Médica e IoT.


Redis

Todos os dados do Redis residem na memória, ao contrário de banco de dados que


armazenam dados em discos ou SSDs.

Redis é escrito em ANSI C e trabalha em sistemas POSIX (Portable Operating


System Interface) como Linux, *BSD e OS X sem dependências externas. Linux e OS
X são os sistemas operacionais onde o Redis é desenvolvido e testado. É bastante
recomendado sua utilização com o Linux.

Não há suporte oficial para Windows.

Site oficial: https://redis.io/


Redis

https://redis.io/clients
Redis

Alta disponibilidade e performance

O Redis emprega um estilo de master/slave, o que torna a


replicação assíncrona entre os servidores subordinados ao
master, e dessa forma temos um ganho de leitura muito grande.

Redis Sentinel
Redis

Alta disponibilidade e performance


Redis Sentinel
Redis

Cache em cloud

Amazon ElastiCache

Cache do Azure para Redis

Memorystore – Google Cloud


Redis

Case
Exemplo implementação do
Redis em .Net Core
Exemplo implementação Redis .Net Core

Importar o pacote Nuget – StackExchange.Redis

Adicionar configuração da conexão com o Redis no Startup.cs

Realizar a implementação dos métodos de obter, adicionar e


remover cache por utilização de chave-valor.
Exemplo implementação Redis .Net Core

Utilizar o Docker para executar o Redis localmente

Utilizar a imagem docker “redis”

Para executar container com a imagem “redis”

docker run -itd --name redis_container -p 6379:6379 -e REDIS_PASSWORD="teste" redis


MUITO OBRIGADO!

Ademir Leal

www.dtidigital.com.br

Você também pode gostar