Série Redis on Azure – O que é Redis e para que serve

Neste artigo pretendo iniciar uma série de artigos que vão focar em como utilizar o Redis no Azure através de exemplos práticos para os mais diversos cenários. E para iniciar essa série, vamos primeiramente entender o que é o Redis e para que ele serve de fato.

Redis

O Redis (REmote DIctionary Server) é uma estrutura de armazenamento em memória, NoSQL de chave-valor e open source. Apesar de possuir diversas utilidades (discutiremos elas mais adiante) o Redis é costumeiramente utilizado para armazenamento de cache visando sempre melhorar o desempenho de sistemas que dependem de uma grande quantidade de dados vindos do back-end.

Pelo fato do seu armazenamento ser feito em memória, ele é extremamente rápido, chegando a performance de 110.000 SETs e 81.000 GETs por segundo.

Outros dois pontos importantíssimos, são:

  • Suas operações são atômicas, ou seja, uma operação sempre retornará sucesso ou falha obrigatoriamente.
  • O Redis é single-threaded, e nesse caso, um fator que vale a pena mencionar é que um processador rápido com bastante cache se sobressai, se comparado com um processador de muitos núcleos com pouco cache.

Apesar de ser uma estrutura chave-valor, o Redis possui um conjunto bem rico de tipos de dados, sendo os principais:

  • Strings: tipo mais básico do Redis. Eles são binários, e com isso, o tipo String pode conter qualquer tipo de dado como, por exemplo, uma imagem. Vale pontuar que o tamanho máximo da String é 512 mb.
  • Lists: esse tipo nada mais é do que uma lista de Strings, classificadas por ordem de inserção. O Redis suporta uma lista de strings contendo até aproximadamente 4 bilhões de elementos.
  • Sets: é uma colação não ordenada de Strings. Por padrão, os Sets não permitem elementos repetidos, sendo que adicionando o mesmo elemento várias vezes resultará em um outro conjunto com uma cópia unica desse elemento. Assim como as Lists, os Sets também podem armazenar aproximadamente 4 bilhões de elementos.
  • Sorted Sets: semelhante aos Sets, porém com o recurso de serem ordenados, cada elemento é associado a um Score, sendo que a ordenação é feita sobre ele.
  • Hash: utilizado majoritariamente para representar um objeto, sendo que ele mapeia um atributo e seu respectivo valor (assim como em um objeto).

A respeito de sua aplicabilidade, conforme mencionado no inicio do artigo, o Redis é bastante versátil, se saindo bem nos mais variados cenários, sendo os principais:

  • Armazenamento em cache (cache de conteúdo): nesse cenário o Redis serve para armazenar conteúdos que raramente são alterados, trazendo maior velocidade e consequentemente melhorando o desempenho das aplicações. Com isso, podemos poupar por requisições desnecessárias no servidor.
  • Gerenciamento de Sessão (cache de sessão): aqui, o Redis pode armazenar sessões com um tempo de vida já definido, sendo perfeito para armazenar informações de um usuário logado na sua aplicação, bem como um carrinho de compras e etc.
  • Classificações em Real-Time (cache-aside): usando o sorted set, você pode criar um rank e atualizá-lo conforme demanda (cache-aside) garantindo que sua aplicação mostre uma classificação em tempo real.
  • Filas: Sendo single-threaded e suas operações atômicas, o Redis é uma ótima opção para ser usado como um agente de mensagens.

Agora que temos uma boa base sobre como Redis funciona e seus principais cenários de aplicação, no nosso próximo artigo vamos por a mão na massa e criar nosso servidor no Azure e então, começar a implementar alguns exemplos abordados nesse primeiro artigo.

Espero que tenham gostado e até o próximo artigo!

Obrigado.

Microsoft Connect(); 2019

Olá pessoal,

No último sábado dia 19/01 participei do Microsoft Connect(); 2019 tanto na organização do evento quanto na palestra que fiz juntamente com o Robson Rocha, falando sobre os 5 serviços do Microsoft Azure que todo desenvolvedor .NET precisa conhecer.

Os slides utilizados na palestra você confere logo abaixo:

Também deixo aqui meu muito obrigado para o prof. João Cunha pelo apoio no local do evento.

Abaixo, fotos do evento

Microsoft Connect 2019 01
Microsoft Connect 2019
Microsoft Connect 2019 02
Microsoft Connect 2019
Microsoft Connect 2019 03
Microsoft Connect 2019

Azure Conference 2018

No dia 20/10/2018 (sábado) aconteceu a primeira edição do Azure Conference, a maior conferência sobre Microsoft Azure na América Latina. Este evento aconteceu nos auditórios da Microsoft São Paulo e tive a honra de ser um dos organizadores desse mega evento.

O evento contou com mais de 20 palestras divididas nas trilhas Dev, Infra e Data & AI e com mais 220 participantes de todo o Brasil, que assistiram as diversas apresentações ao longo de todo o sábado.

Azure Conference
Azure Conference
Azure Conference
Azure Conference


Open Source Road Show – Araraquara

Bom dia pessoal,

No último sábado dia 12/01 participei do primeiro Open Source Road show de 2019 na cidade de Araraquara, palestrando sobre hospedagem de aplicações no Azure App Service.

Esta foi uma iniciativa promovida pelas comunidades Campinas .NET.NET SP e Open Source SP (das quais co organizador, organizador assistente e organizador respectivamente) em conjunto com amigos da região de Araraquara.

Deixo aqui meu muito obrigado para o pessoal de Araraquara, em especial para o Danilo Clemente.

Devido ao sucesso do evento no qual obtivemos um total de 81 participantes optamos por realizar 2 sessões de cada palestra para que ninguém perdesse nenhum tipo de conteúdo.

Os slides utilizados na palestra você confere logo abaixo:

Deixo aqui também um passo a passo das demos que eu demonstrei.

Deploy via Docker Hub.

Deploy via OneDrive

Abaixo algumas fotos do evento.

Open Source Road Show Araraquara
Open Source Road Show Araraquara
Open Source Road Show Araraquara
Open Source Road Show Araraquara

DevPira Festival

Boa noite pessoal,

Na primeira semana de Dezembro de 2018, mais precisamente no dia 01, tivemos o DevPira Festival na cidade de Piracicaba

Esse evento foi uma iniciativa da comunidade DevPiracicaba, Raízen, Pulse Hub de Inovação e Usina de Inovação Monte Alegre.

Os slides utilizados na palestra você confere logo abaixo:

Deixo aqui meu muito obrigado para todos os presentes.

Alguma fotos do evento:

DevPira Festival
DevPira Festival
DevPira Festival
DevPira Festival
DevPira Festival
DevPira Festival

.NET Conf Local 2018 – São Paulo – FC Nuvem

Boa noite pessoal,

Neste final de semana, falei sobre como Hospedar sua aplicação no Azure App Service pelo Azure Talks.

Para quem acompanhou minha apresentação, e quiser os slides utilizados na palestra, eles estão disponíveis através deste link.

Deixo aqui meu muito obrigado para todos os presentes.

II Semana de Cursos de TI da UniMetrocamp | Wyden

Bom dia pessoal,

No último dia 11/10 participei da II Semana de Cursos de TI na UniMetrocamp | Wyden juntamente com o Robson Rocha, falando sobre os 5 serviços do Microsoft Azure que todo desenvolvedor .NET precisa conhecer.

Deixo aqui meu muito obrigado para o prof. João Cunha pelo convite.

Abaixo uma foto do evento.

II-semana-de-cursos-de-ti-da-unimetrocamp-wyden

Meetup #9: Serviços do Azure para Devs Web, Segurança em APIs REST

Boa dia pessoal,

Nesta terça-feira 09/10, palestrei na Microsoft Brasil juntamente com o Robson sobre os 5 serviços do Azure que todo desenvolvedor .NET precisa conhecer pelo Meetup Azure Brasil.

Para quem acompanhou a apresentação, e quiser os slides utilizados na palestra, eles estão disponíveis através deste link e o código nesse outro link.

Deixo aqui meu muito obrigado para todos os presentes.

Mentoria no iMasters InterCon 2018

Bom dia pessoal,

No último dia 06/10 participei do programa de mentoria individual no evento iMasters InterCon 2018, falando sobre Microsoft Azure, ASP.NET Core e Carreiras em TI com 3 mentorados.

Deixo aqui meu muito obrigado para o Rodrigo “Pokémon” pelo convite.

Abaixo algumas fotos do evento.

InterCon 2018

InterCon 2018

InterCon 2018

InterCon 2018

DotNetConf 2018 – Campinas

Boa dia pessoal,

Neste final de semana, falei sobre os 5 serviços do Azure que todo desenvolvedor .NET precisa conhecer pelo Meetup Campinas .NET.

Para quem acompanhou minha apresentação, e quiser os slides utilizados na palestra, eles estão disponíveis através deste link e o código nesse outro link.

Deixo aqui meu muito obrigado para todos os presentes.