SlideShare una empresa de Scribd logo
1 de 26
Escalando Aplicações com 
Redis 
Waldyr Felix 
Consultor Chefe na FCamara 
Blog: waldyrfelix.net 
Twitter: @WaldyrFelix
NoSQL 
Chave e valor 
Memória 
Disco 
Replicação 
Cache 
Banco de Dados
Tipos de Dados 
• Strings 
• Lists 
• Sets 
• Sorted sets 
• Hashes
Instalação 
wget http://download.redis.io/releases/redis-2.8.14.tar.gz 
tar xzf redis-2.8.14.tar.gz 
cd redis-2.8.14 
make 
Baixar o Zip 
Descompactar 
No Linux 
No Windows
Client e Server 
• Executar o aplicativo e o servidor está no ar 
• Sintaxe simples 
• Economia de transações
Notação para chaves no Redis 
• Armazenamento de objetos “indexados” 
> set “usuario:8372” “Waldyr Felix” 
• Armazenamento de objetos complexos 
> set “usuario:3433:nome” “Waldyr Felix” 
> set “usuario:3433:email” “waldyr.felix@fcamara.com.br”
API C# para Redis 
• StackExchange.Redis 
• ServiceStack.Redis NServiceKit
ServiceStack.Redis é Open mas não é FREE
NServiceKit.Redis
Cache -Aside Pattern 
• Otimização de acessos 
repetidos a alguma informação 
• Armazenamento intermediário 
mais rápido que o original 
• Deve ser transparente para a 
aplicação 
• Uso de AOP minimiza o 
impacto na implementação 
• Pode ser local ou distribuído.
Para saber mais:
Redis como Cache 
• Interface ICacheClient 
• Usa o comando SETEX 
> setex “usuario:3433:nome” 120 “Waldyr Felix” 
> set “usuario:3433:nome” “Waldyr Felix” 
> expire “usuario:3433:nome” 120
Exemplo de Cache com Redis 
• Redis 
• NServiceKit.Redis 
• Postsharp 
• Aplicação ~12x mais rápida
App 
Cache Distribuído 
• Acesso remoto 
• Suporte a replicação 
• Segurança integrada 
• Configuração simples 
Cache 
VM1 
VM3 
VM2
Amazon ElastiCache Redis
Amazon ElastiCache Redis 
Os End Points da Amazon só podem ser acessados pelos próprios Data Centers, ou 
seja, para testar precisamos fazer um deployment no AWS.
Azure Redis Cache (Preview)
Azure Redis Cache (Preview) 
Os End Points de cache do Microsoft Azure podem ser acessados externamente 
usando chaves de acesso, da mesma forma que acessamos Azure Storage.
Referências 
• http://redis.io/documentation 
• https://github.com/ServiceStack/ServiceStack.Redis 
• https://github.com/NServiceKit/NServiceKit 
• http://azure.microsoft.com/pt-br/documentation/articles/cache-dotnet- 
how-to-use-azure-redis-cache/ 
• http://aws.amazon.com/pt/elasticache/

Más contenido relacionado

La actualidad más candente

Análise de segurança e hacking de containers Docker - Fernando Silva - Tcheli...
Análise de segurança e hacking de containers Docker - Fernando Silva - Tcheli...Análise de segurança e hacking de containers Docker - Fernando Silva - Tcheli...
Análise de segurança e hacking de containers Docker - Fernando Silva - Tcheli...Tchelinux
 
Microserviços - Cristiano dos Santos Diedrich - Tchelinux Bento Gonçalves 2017
Microserviços - Cristiano dos Santos Diedrich - Tchelinux Bento Gonçalves 2017Microserviços - Cristiano dos Santos Diedrich - Tchelinux Bento Gonçalves 2017
Microserviços - Cristiano dos Santos Diedrich - Tchelinux Bento Gonçalves 2017Tchelinux
 
Aula PIT 3 - Ambientes
Aula PIT 3 - AmbientesAula PIT 3 - Ambientes
Aula PIT 3 - AmbientesDirceu Belém
 
Hands on para (web)Developers Docker vs Vagrant
Hands on para (web)Developers Docker vs VagrantHands on para (web)Developers Docker vs Vagrant
Hands on para (web)Developers Docker vs VagrantIngo Jauch
 
Semana Acadêmica ICET - Feevale - 12/04/2014
Semana Acadêmica ICET - Feevale - 12/04/2014Semana Acadêmica ICET - Feevale - 12/04/2014
Semana Acadêmica ICET - Feevale - 12/04/2014Getup Cloud
 
Terraform + Kops + Kubernetes na AWS
Terraform + Kops + Kubernetes na AWSTerraform + Kops + Kubernetes na AWS
Terraform + Kops + Kubernetes na AWSLeandro Freitas
 
TDC2018SP | Trilha Containers - Provisionando um cluster Kubernetes multi-mas...
TDC2018SP | Trilha Containers - Provisionando um cluster Kubernetes multi-mas...TDC2018SP | Trilha Containers - Provisionando um cluster Kubernetes multi-mas...
TDC2018SP | Trilha Containers - Provisionando um cluster Kubernetes multi-mas...tdc-globalcode
 
DevOps containers x86 - Baremetal, Virtual e Cloud (pt_br)
DevOps containers x86 - Baremetal, Virtual e Cloud (pt_br)DevOps containers x86 - Baremetal, Virtual e Cloud (pt_br)
DevOps containers x86 - Baremetal, Virtual e Cloud (pt_br)Caio Candido
 
Economize o Consumo de Link WAN com o BranchCache
Economize o Consumo de Link WAN com o BranchCacheEconomize o Consumo de Link WAN com o BranchCache
Economize o Consumo de Link WAN com o BranchCacheRodrigo Immaginario
 
Introdução ao Ceph - Leonardo Vaz - Tchelinux Bento Gonçalves 2017
Introdução ao Ceph - Leonardo Vaz - Tchelinux Bento Gonçalves 2017Introdução ao Ceph - Leonardo Vaz - Tchelinux Bento Gonçalves 2017
Introdução ao Ceph - Leonardo Vaz - Tchelinux Bento Gonçalves 2017Tchelinux
 
Disaster Recovery usando Windows Server 2012 R2, Microsoft System Center 2012...
Disaster Recovery usando Windows Server 2012 R2, Microsoft System Center 2012...Disaster Recovery usando Windows Server 2012 R2, Microsoft System Center 2012...
Disaster Recovery usando Windows Server 2012 R2, Microsoft System Center 2012...Daniel Donda - MVP
 
Open Source Cloud Computing - Leonardo Vaz - Tchelinux Bento Gonçalves 2017
Open Source Cloud Computing - Leonardo Vaz - Tchelinux Bento Gonçalves 2017Open Source Cloud Computing - Leonardo Vaz - Tchelinux Bento Gonçalves 2017
Open Source Cloud Computing - Leonardo Vaz - Tchelinux Bento Gonçalves 2017Tchelinux
 
Gerenciamento de endereços ip com php ipam
Gerenciamento de endereços ip com php ipamGerenciamento de endereços ip com php ipam
Gerenciamento de endereços ip com php ipamPietro Scherer
 
Microsoft Azure Storage - Tudo o que você precisa saber sobre armazenamento d...
Microsoft Azure Storage - Tudo o que você precisa saber sobre armazenamento d...Microsoft Azure Storage - Tudo o que você precisa saber sobre armazenamento d...
Microsoft Azure Storage - Tudo o que você precisa saber sobre armazenamento d...Lucas A. Romão
 
Alta perfomance de aplicações PHP com Nginx
Alta perfomance de aplicações PHP com NginxAlta perfomance de aplicações PHP com Nginx
Alta perfomance de aplicações PHP com NginxThiago Paes
 
5 - segurança - firewall
5  - segurança - firewall5  - segurança - firewall
5 - segurança - firewallAndre Peres
 

La actualidad más candente (20)

Análise de segurança e hacking de containers Docker - Fernando Silva - Tcheli...
Análise de segurança e hacking de containers Docker - Fernando Silva - Tcheli...Análise de segurança e hacking de containers Docker - Fernando Silva - Tcheli...
Análise de segurança e hacking de containers Docker - Fernando Silva - Tcheli...
 
Microserviços - Cristiano dos Santos Diedrich - Tchelinux Bento Gonçalves 2017
Microserviços - Cristiano dos Santos Diedrich - Tchelinux Bento Gonçalves 2017Microserviços - Cristiano dos Santos Diedrich - Tchelinux Bento Gonçalves 2017
Microserviços - Cristiano dos Santos Diedrich - Tchelinux Bento Gonçalves 2017
 
Aula PIT 3 - Ambientes
Aula PIT 3 - AmbientesAula PIT 3 - Ambientes
Aula PIT 3 - Ambientes
 
Hands on para (web)Developers Docker vs Vagrant
Hands on para (web)Developers Docker vs VagrantHands on para (web)Developers Docker vs Vagrant
Hands on para (web)Developers Docker vs Vagrant
 
HOST079 - Docker
HOST079 - DockerHOST079 - Docker
HOST079 - Docker
 
Escalando Sites com Nginx
Escalando Sites com NginxEscalando Sites com Nginx
Escalando Sites com Nginx
 
Semana Acadêmica ICET - Feevale - 12/04/2014
Semana Acadêmica ICET - Feevale - 12/04/2014Semana Acadêmica ICET - Feevale - 12/04/2014
Semana Acadêmica ICET - Feevale - 12/04/2014
 
Terraform + Kops + Kubernetes na AWS
Terraform + Kops + Kubernetes na AWSTerraform + Kops + Kubernetes na AWS
Terraform + Kops + Kubernetes na AWS
 
TDC2018SP | Trilha Containers - Provisionando um cluster Kubernetes multi-mas...
TDC2018SP | Trilha Containers - Provisionando um cluster Kubernetes multi-mas...TDC2018SP | Trilha Containers - Provisionando um cluster Kubernetes multi-mas...
TDC2018SP | Trilha Containers - Provisionando um cluster Kubernetes multi-mas...
 
DevOps containers x86 - Baremetal, Virtual e Cloud (pt_br)
DevOps containers x86 - Baremetal, Virtual e Cloud (pt_br)DevOps containers x86 - Baremetal, Virtual e Cloud (pt_br)
DevOps containers x86 - Baremetal, Virtual e Cloud (pt_br)
 
Economize o Consumo de Link WAN com o BranchCache
Economize o Consumo de Link WAN com o BranchCacheEconomize o Consumo de Link WAN com o BranchCache
Economize o Consumo de Link WAN com o BranchCache
 
Introdução ao Ceph - Leonardo Vaz - Tchelinux Bento Gonçalves 2017
Introdução ao Ceph - Leonardo Vaz - Tchelinux Bento Gonçalves 2017Introdução ao Ceph - Leonardo Vaz - Tchelinux Bento Gonçalves 2017
Introdução ao Ceph - Leonardo Vaz - Tchelinux Bento Gonçalves 2017
 
Disaster Recovery usando Windows Server 2012 R2, Microsoft System Center 2012...
Disaster Recovery usando Windows Server 2012 R2, Microsoft System Center 2012...Disaster Recovery usando Windows Server 2012 R2, Microsoft System Center 2012...
Disaster Recovery usando Windows Server 2012 R2, Microsoft System Center 2012...
 
Unix te da asas
Unix te da asasUnix te da asas
Unix te da asas
 
Open Source Cloud Computing - Leonardo Vaz - Tchelinux Bento Gonçalves 2017
Open Source Cloud Computing - Leonardo Vaz - Tchelinux Bento Gonçalves 2017Open Source Cloud Computing - Leonardo Vaz - Tchelinux Bento Gonçalves 2017
Open Source Cloud Computing - Leonardo Vaz - Tchelinux Bento Gonçalves 2017
 
Gerenciamento de endereços ip com php ipam
Gerenciamento de endereços ip com php ipamGerenciamento de endereços ip com php ipam
Gerenciamento de endereços ip com php ipam
 
Microsoft Azure Storage - Tudo o que você precisa saber sobre armazenamento d...
Microsoft Azure Storage - Tudo o que você precisa saber sobre armazenamento d...Microsoft Azure Storage - Tudo o que você precisa saber sobre armazenamento d...
Microsoft Azure Storage - Tudo o que você precisa saber sobre armazenamento d...
 
Filtro de conteúdo Proxy
Filtro de conteúdo   ProxyFiltro de conteúdo   Proxy
Filtro de conteúdo Proxy
 
Alta perfomance de aplicações PHP com Nginx
Alta perfomance de aplicações PHP com NginxAlta perfomance de aplicações PHP com Nginx
Alta perfomance de aplicações PHP com Nginx
 
5 - segurança - firewall
5  - segurança - firewall5  - segurança - firewall
5 - segurança - firewall
 

Destacado

Integrando aplicações com redis
Integrando aplicações com redisIntegrando aplicações com redis
Integrando aplicações com redisFelipe Monteiro
 
Empreendendo com Informática
Empreendendo com InformáticaEmpreendendo com Informática
Empreendendo com InformáticaFábio Câmara
 
Template Canvas - Business Model Generation
Template Canvas - Business Model GenerationTemplate Canvas - Business Model Generation
Template Canvas - Business Model GenerationLuis Fernando Freitas
 
Escalando aplicação Python usando Getup OpenShift
Escalando aplicação Python usando Getup OpenShiftEscalando aplicação Python usando Getup OpenShift
Escalando aplicação Python usando Getup OpenShiftGetup Cloud
 
Bancos de dados open source
Bancos de dados open sourceBancos de dados open source
Bancos de dados open sourceRodrigo Aurélio
 
Bancos orientados a colunas (Cassandra)
Bancos orientados a colunas (Cassandra) Bancos orientados a colunas (Cassandra)
Bancos orientados a colunas (Cassandra) Otávio Santana
 
Redis – What, Why, When, How?
Redis – What, Why, When, How?Redis – What, Why, When, How?
Redis – What, Why, When, How?Kinn Julião
 
Algumas das principais características do NoSQL
Algumas das principais características do NoSQLAlgumas das principais características do NoSQL
Algumas das principais características do NoSQLEric Silva
 
Bancos de dados NoSQL - Redis e MongoDB
Bancos de dados NoSQL - Redis e MongoDBBancos de dados NoSQL - Redis e MongoDB
Bancos de dados NoSQL - Redis e MongoDBPaulo Bischof
 
Deploy completo de uma aplicação Django
Deploy completo de uma aplicação DjangoDeploy completo de uma aplicação Django
Deploy completo de uma aplicação DjangoAllisson Azevedo
 
Big data da teoria à prática
Big data  da teoria à práticaBig data  da teoria à prática
Big data da teoria à práticaMario Guedes
 
Redis um banco chave valor
Redis um banco chave valorRedis um banco chave valor
Redis um banco chave valorKinn Julião
 
Paradigmas de Linguagens de Programacao - Aula #1
Paradigmas de Linguagens de Programacao - Aula #1Paradigmas de Linguagens de Programacao - Aula #1
Paradigmas de Linguagens de Programacao - Aula #1Ismar Silveira
 
Paradigmas de Linguagens de programacao - Aula #2
Paradigmas de Linguagens de programacao - Aula #2Paradigmas de Linguagens de programacao - Aula #2
Paradigmas de Linguagens de programacao - Aula #2Ismar Silveira
 
Sistemas Operacionais - 2 - Tipos de Sistemas Computacionais
Sistemas Operacionais - 2 - Tipos de Sistemas ComputacionaisSistemas Operacionais - 2 - Tipos de Sistemas Computacionais
Sistemas Operacionais - 2 - Tipos de Sistemas ComputacionaisMauro Duarte
 
Sistemas Distribuídos - Computação Distribuída e Paralela
Sistemas Distribuídos - Computação Distribuída e ParalelaSistemas Distribuídos - Computação Distribuída e Paralela
Sistemas Distribuídos - Computação Distribuída e ParalelaAdriano Teixeira de Souza
 

Destacado (20)

Integrando aplicações com redis
Integrando aplicações com redisIntegrando aplicações com redis
Integrando aplicações com redis
 
Empreendendo com Informática
Empreendendo com InformáticaEmpreendendo com Informática
Empreendendo com Informática
 
Template Canvas - Business Model Generation
Template Canvas - Business Model GenerationTemplate Canvas - Business Model Generation
Template Canvas - Business Model Generation
 
Culture Code
Culture CodeCulture Code
Culture Code
 
Escalando aplicação Python usando Getup OpenShift
Escalando aplicação Python usando Getup OpenShiftEscalando aplicação Python usando Getup OpenShift
Escalando aplicação Python usando Getup OpenShift
 
Bancos de dados open source
Bancos de dados open sourceBancos de dados open source
Bancos de dados open source
 
01 aula1 habib
01 aula1 habib01 aula1 habib
01 aula1 habib
 
Bancos orientados a colunas (Cassandra)
Bancos orientados a colunas (Cassandra) Bancos orientados a colunas (Cassandra)
Bancos orientados a colunas (Cassandra)
 
Redis – What, Why, When, How?
Redis – What, Why, When, How?Redis – What, Why, When, How?
Redis – What, Why, When, How?
 
Algumas das principais características do NoSQL
Algumas das principais características do NoSQLAlgumas das principais características do NoSQL
Algumas das principais características do NoSQL
 
Bancos de dados NoSQL - Redis e MongoDB
Bancos de dados NoSQL - Redis e MongoDBBancos de dados NoSQL - Redis e MongoDB
Bancos de dados NoSQL - Redis e MongoDB
 
549891
549891549891
549891
 
Deploy completo de uma aplicação Django
Deploy completo de uma aplicação DjangoDeploy completo de uma aplicação Django
Deploy completo de uma aplicação Django
 
Big data da teoria à prática
Big data  da teoria à práticaBig data  da teoria à prática
Big data da teoria à prática
 
Redis um banco chave valor
Redis um banco chave valorRedis um banco chave valor
Redis um banco chave valor
 
Paradigmas de Linguagens de Programacao - Aula #1
Paradigmas de Linguagens de Programacao - Aula #1Paradigmas de Linguagens de Programacao - Aula #1
Paradigmas de Linguagens de Programacao - Aula #1
 
Paradigmas de Linguagens de programacao - Aula #2
Paradigmas de Linguagens de programacao - Aula #2Paradigmas de Linguagens de programacao - Aula #2
Paradigmas de Linguagens de programacao - Aula #2
 
Sistemas Operacionais - 2 - Tipos de Sistemas Computacionais
Sistemas Operacionais - 2 - Tipos de Sistemas ComputacionaisSistemas Operacionais - 2 - Tipos de Sistemas Computacionais
Sistemas Operacionais - 2 - Tipos de Sistemas Computacionais
 
Paradigmas de programação
Paradigmas de programaçãoParadigmas de programação
Paradigmas de programação
 
Sistemas Distribuídos - Computação Distribuída e Paralela
Sistemas Distribuídos - Computação Distribuída e ParalelaSistemas Distribuídos - Computação Distribuída e Paralela
Sistemas Distribuídos - Computação Distribuída e Paralela
 

Similar a Escalando com Redis

OpenShift: NoSQL "a la carte" num PaaS 100% Open Source
OpenShift: NoSQL  "a la carte"  num PaaS 100% Open SourceOpenShift: NoSQL  "a la carte"  num PaaS 100% Open Source
OpenShift: NoSQL "a la carte" num PaaS 100% Open SourceEdgar Silva
 
Aws sao paulo summit 2015 elasti cache avancado
Aws sao paulo summit 2015   elasti cache avancadoAws sao paulo summit 2015   elasti cache avancado
Aws sao paulo summit 2015 elasti cache avancadoAmazon Web Services LATAM
 
Otimizacao de websites em PHP
Otimizacao de websites em PHPOtimizacao de websites em PHP
Otimizacao de websites em PHPFelipe Ribeiro
 
Aceleração em Hardware para OpenSSL em Sistemas Embarcados: Introdução e conc...
Aceleração em Hardware para OpenSSL em Sistemas Embarcados: Introdução e conc...Aceleração em Hardware para OpenSSL em Sistemas Embarcados: Introdução e conc...
Aceleração em Hardware para OpenSSL em Sistemas Embarcados: Introdução e conc...Bruno Castelucci
 
Migrando seu workload de Big Data para o Amazon EMR
Migrando seu workload de Big Data para o Amazon EMRMigrando seu workload de Big Data para o Amazon EMR
Migrando seu workload de Big Data para o Amazon EMRAmazon Web Services LATAM
 
Copa do mundo no brasil interagindo com os torcedores em tempo real
Copa do mundo no brasil   interagindo com os torcedores em tempo realCopa do mundo no brasil   interagindo com os torcedores em tempo real
Copa do mundo no brasil interagindo com os torcedores em tempo realAmazon Web Services LATAM
 
Como construir sua primeira aplicação de Big Data na AWS
Como construir sua primeira aplicação de Big Data na AWSComo construir sua primeira aplicação de Big Data na AWS
Como construir sua primeira aplicação de Big Data na AWSAmazon Web Services LATAM
 
Vitor Hugo Bastos Cardoso apresenta voando alto com WordPress: um guia prátic...
Vitor Hugo Bastos Cardoso apresenta voando alto com WordPress: um guia prátic...Vitor Hugo Bastos Cardoso apresenta voando alto com WordPress: um guia prátic...
Vitor Hugo Bastos Cardoso apresenta voando alto com WordPress: um guia prátic...WordCamp Floripa
 
Build e release pipeline com docker
Build e release pipeline com dockerBuild e release pipeline com docker
Build e release pipeline com dockerGiovanni Bassi
 
Técnicas e recursos para desenvolvimento Web em cenários de grande escala
Técnicas e recursos para desenvolvimento Web em cenários de grande escalaTécnicas e recursos para desenvolvimento Web em cenários de grande escala
Técnicas e recursos para desenvolvimento Web em cenários de grande escalaAlexandre Tarifa
 
MongoDB - Apresentação
MongoDB - ApresentaçãoMongoDB - Apresentação
MongoDB - ApresentaçãoTerra / Neo
 
Escalabilidade com Redis
Escalabilidade com Redis Escalabilidade com Redis
Escalabilidade com Redis Mario Guedes
 

Similar a Escalando com Redis (20)

LDAP
LDAPLDAP
LDAP
 
5. rodando containers docker na aws
5. rodando containers docker na aws5. rodando containers docker na aws
5. rodando containers docker na aws
 
OpenShift: NoSQL "a la carte" num PaaS 100% Open Source
OpenShift: NoSQL  "a la carte"  num PaaS 100% Open SourceOpenShift: NoSQL  "a la carte"  num PaaS 100% Open Source
OpenShift: NoSQL "a la carte" num PaaS 100% Open Source
 
Aws sao paulo summit 2015 elasti cache avancado
Aws sao paulo summit 2015   elasti cache avancadoAws sao paulo summit 2015   elasti cache avancado
Aws sao paulo summit 2015 elasti cache avancado
 
PHP e Redis
PHP e RedisPHP e Redis
PHP e Redis
 
Cache com redis novatec
Cache com redis novatecCache com redis novatec
Cache com redis novatec
 
Cache com redis novatec
Cache com redis novatecCache com redis novatec
Cache com redis novatec
 
Otimizacao de websites em PHP
Otimizacao de websites em PHPOtimizacao de websites em PHP
Otimizacao de websites em PHP
 
Aceleração em Hardware para OpenSSL em Sistemas Embarcados: Introdução e conc...
Aceleração em Hardware para OpenSSL em Sistemas Embarcados: Introdução e conc...Aceleração em Hardware para OpenSSL em Sistemas Embarcados: Introdução e conc...
Aceleração em Hardware para OpenSSL em Sistemas Embarcados: Introdução e conc...
 
What's New On Azure IaaS
What's New On Azure IaaSWhat's New On Azure IaaS
What's New On Azure IaaS
 
Migrando seu workload de Big Data para o Amazon EMR
Migrando seu workload de Big Data para o Amazon EMRMigrando seu workload de Big Data para o Amazon EMR
Migrando seu workload de Big Data para o Amazon EMR
 
Copa do mundo no brasil interagindo com os torcedores em tempo real
Copa do mundo no brasil   interagindo com os torcedores em tempo realCopa do mundo no brasil   interagindo com os torcedores em tempo real
Copa do mundo no brasil interagindo com os torcedores em tempo real
 
Mongo db slides
Mongo db slidesMongo db slides
Mongo db slides
 
Como construir sua primeira aplicação de Big Data na AWS
Como construir sua primeira aplicação de Big Data na AWSComo construir sua primeira aplicação de Big Data na AWS
Como construir sua primeira aplicação de Big Data na AWS
 
Vitor Hugo Bastos Cardoso apresenta voando alto com WordPress: um guia prátic...
Vitor Hugo Bastos Cardoso apresenta voando alto com WordPress: um guia prátic...Vitor Hugo Bastos Cardoso apresenta voando alto com WordPress: um guia prátic...
Vitor Hugo Bastos Cardoso apresenta voando alto com WordPress: um guia prátic...
 
Build e release pipeline com docker
Build e release pipeline com dockerBuild e release pipeline com docker
Build e release pipeline com docker
 
Mit 01
Mit 01Mit 01
Mit 01
 
Técnicas e recursos para desenvolvimento Web em cenários de grande escala
Técnicas e recursos para desenvolvimento Web em cenários de grande escalaTécnicas e recursos para desenvolvimento Web em cenários de grande escala
Técnicas e recursos para desenvolvimento Web em cenários de grande escala
 
MongoDB - Apresentação
MongoDB - ApresentaçãoMongoDB - Apresentação
MongoDB - Apresentação
 
Escalabilidade com Redis
Escalabilidade com Redis Escalabilidade com Redis
Escalabilidade com Redis
 

Más de Waldyr Felix

Apache Kafka: Comunicando microsserviços com performance
Apache Kafka: Comunicando microsserviços com performanceApache Kafka: Comunicando microsserviços com performance
Apache Kafka: Comunicando microsserviços com performanceWaldyr Felix
 
Kubernetes: Escalando containers do Docker
Kubernetes: Escalando containers do DockerKubernetes: Escalando containers do Docker
Kubernetes: Escalando containers do DockerWaldyr Felix
 
A história do LinkApi, como chegamos numa arquitetura para suportar 1 milhão ...
A história do LinkApi, como chegamos numa arquitetura para suportar 1 milhão ...A história do LinkApi, como chegamos numa arquitetura para suportar 1 milhão ...
A história do LinkApi, como chegamos numa arquitetura para suportar 1 milhão ...Waldyr Felix
 
HTTP/2. O que você precisa saber a nova versão do HTTP.
HTTP/2. O que você precisa saber a nova versão do HTTP.HTTP/2. O que você precisa saber a nova versão do HTTP.
HTTP/2. O que você precisa saber a nova versão do HTTP.Waldyr Felix
 
ECMAScript 6 / ECMAScript 2015 no Node.js
ECMAScript 6 / ECMAScript 2015 no Node.jsECMAScript 6 / ECMAScript 2015 no Node.js
ECMAScript 6 / ECMAScript 2015 no Node.jsWaldyr Felix
 
Performance do ASP.NET Core, um comparativo com Node.js
Performance do ASP.NET Core, um comparativo com Node.jsPerformance do ASP.NET Core, um comparativo com Node.js
Performance do ASP.NET Core, um comparativo com Node.jsWaldyr Felix
 
Ionic + Cordova para Desenvolvimento Mobile
Ionic + Cordova para Desenvolvimento MobileIonic + Cordova para Desenvolvimento Mobile
Ionic + Cordova para Desenvolvimento MobileWaldyr Felix
 
Microservices com ASP.NET 5
Microservices com ASP.NET 5Microservices com ASP.NET 5
Microservices com ASP.NET 5Waldyr Felix
 
ASP.NET SignalR + SPA com AngularJS
ASP.NET SignalR + SPA com AngularJSASP.NET SignalR + SPA com AngularJS
ASP.NET SignalR + SPA com AngularJSWaldyr Felix
 
Sistema de Notificações com SignalR TDC 2014
Sistema de Notificações com SignalR TDC 2014Sistema de Notificações com SignalR TDC 2014
Sistema de Notificações com SignalR TDC 2014Waldyr Felix
 
ASP.NET MVC & Entity Framework
ASP.NET MVC & Entity FrameworkASP.NET MVC & Entity Framework
ASP.NET MVC & Entity FrameworkWaldyr Felix
 
Produtividade na criação de websites com ASP.NET MVC
Produtividade na criação de websites com ASP.NET MVCProdutividade na criação de websites com ASP.NET MVC
Produtividade na criação de websites com ASP.NET MVCWaldyr Felix
 
Trilha .NET - REST na plataforma Microsoft com ASP.NET Web API
Trilha .NET - REST na plataforma Microsoft com ASP.NET Web APITrilha .NET - REST na plataforma Microsoft com ASP.NET Web API
Trilha .NET - REST na plataforma Microsoft com ASP.NET Web APIWaldyr Felix
 
Explorando Microsoft Fakes
Explorando Microsoft FakesExplorando Microsoft Fakes
Explorando Microsoft FakesWaldyr Felix
 
Usando Scrum com Team Foundation Server 2012
Usando Scrum com Team Foundation Server 2012Usando Scrum com Team Foundation Server 2012
Usando Scrum com Team Foundation Server 2012Waldyr Felix
 
ASP.NET WebAPI HTTP Basic Auth
ASP.NET WebAPI HTTP Basic AuthASP.NET WebAPI HTTP Basic Auth
ASP.NET WebAPI HTTP Basic AuthWaldyr Felix
 

Más de Waldyr Felix (20)

Apache Kafka: Comunicando microsserviços com performance
Apache Kafka: Comunicando microsserviços com performanceApache Kafka: Comunicando microsserviços com performance
Apache Kafka: Comunicando microsserviços com performance
 
Kubernetes: Escalando containers do Docker
Kubernetes: Escalando containers do DockerKubernetes: Escalando containers do Docker
Kubernetes: Escalando containers do Docker
 
A história do LinkApi, como chegamos numa arquitetura para suportar 1 milhão ...
A história do LinkApi, como chegamos numa arquitetura para suportar 1 milhão ...A história do LinkApi, como chegamos numa arquitetura para suportar 1 milhão ...
A história do LinkApi, como chegamos numa arquitetura para suportar 1 milhão ...
 
HTTP/2. O que você precisa saber a nova versão do HTTP.
HTTP/2. O que você precisa saber a nova versão do HTTP.HTTP/2. O que você precisa saber a nova versão do HTTP.
HTTP/2. O que você precisa saber a nova versão do HTTP.
 
ECMAScript 6 / ECMAScript 2015 no Node.js
ECMAScript 6 / ECMAScript 2015 no Node.jsECMAScript 6 / ECMAScript 2015 no Node.js
ECMAScript 6 / ECMAScript 2015 no Node.js
 
Performance do ASP.NET Core, um comparativo com Node.js
Performance do ASP.NET Core, um comparativo com Node.jsPerformance do ASP.NET Core, um comparativo com Node.js
Performance do ASP.NET Core, um comparativo com Node.js
 
Ionic + Cordova para Desenvolvimento Mobile
Ionic + Cordova para Desenvolvimento MobileIonic + Cordova para Desenvolvimento Mobile
Ionic + Cordova para Desenvolvimento Mobile
 
Microservices com ASP.NET 5
Microservices com ASP.NET 5Microservices com ASP.NET 5
Microservices com ASP.NET 5
 
ASP.NET SignalR + SPA com AngularJS
ASP.NET SignalR + SPA com AngularJSASP.NET SignalR + SPA com AngularJS
ASP.NET SignalR + SPA com AngularJS
 
Sistema de Notificações com SignalR TDC 2014
Sistema de Notificações com SignalR TDC 2014Sistema de Notificações com SignalR TDC 2014
Sistema de Notificações com SignalR TDC 2014
 
ASP.NET MVC 5.x
ASP.NET MVC 5.xASP.NET MVC 5.x
ASP.NET MVC 5.x
 
ASP.NET MVC & Entity Framework
ASP.NET MVC & Entity FrameworkASP.NET MVC & Entity Framework
ASP.NET MVC & Entity Framework
 
ASP.NET WEB API
ASP.NET WEB APIASP.NET WEB API
ASP.NET WEB API
 
Produtividade na criação de websites com ASP.NET MVC
Produtividade na criação de websites com ASP.NET MVCProdutividade na criação de websites com ASP.NET MVC
Produtividade na criação de websites com ASP.NET MVC
 
Trilha .NET - REST na plataforma Microsoft com ASP.NET Web API
Trilha .NET - REST na plataforma Microsoft com ASP.NET Web APITrilha .NET - REST na plataforma Microsoft com ASP.NET Web API
Trilha .NET - REST na plataforma Microsoft com ASP.NET Web API
 
Asp.net web api
Asp.net web apiAsp.net web api
Asp.net web api
 
Explorando Microsoft Fakes
Explorando Microsoft FakesExplorando Microsoft Fakes
Explorando Microsoft Fakes
 
ASP.NET Web API
ASP.NET Web APIASP.NET Web API
ASP.NET Web API
 
Usando Scrum com Team Foundation Server 2012
Usando Scrum com Team Foundation Server 2012Usando Scrum com Team Foundation Server 2012
Usando Scrum com Team Foundation Server 2012
 
ASP.NET WebAPI HTTP Basic Auth
ASP.NET WebAPI HTTP Basic AuthASP.NET WebAPI HTTP Basic Auth
ASP.NET WebAPI HTTP Basic Auth
 

Escalando com Redis

  • 1. Escalando Aplicações com Redis Waldyr Felix Consultor Chefe na FCamara Blog: waldyrfelix.net Twitter: @WaldyrFelix
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8. NoSQL Chave e valor Memória Disco Replicação Cache Banco de Dados
  • 9. Tipos de Dados • Strings • Lists • Sets • Sorted sets • Hashes
  • 10. Instalação wget http://download.redis.io/releases/redis-2.8.14.tar.gz tar xzf redis-2.8.14.tar.gz cd redis-2.8.14 make Baixar o Zip Descompactar No Linux No Windows
  • 11. Client e Server • Executar o aplicativo e o servidor está no ar • Sintaxe simples • Economia de transações
  • 12.
  • 13. Notação para chaves no Redis • Armazenamento de objetos “indexados” > set “usuario:8372” “Waldyr Felix” • Armazenamento de objetos complexos > set “usuario:3433:nome” “Waldyr Felix” > set “usuario:3433:email” “waldyr.felix@fcamara.com.br”
  • 14. API C# para Redis • StackExchange.Redis • ServiceStack.Redis NServiceKit
  • 15. ServiceStack.Redis é Open mas não é FREE
  • 17. Cache -Aside Pattern • Otimização de acessos repetidos a alguma informação • Armazenamento intermediário mais rápido que o original • Deve ser transparente para a aplicação • Uso de AOP minimiza o impacto na implementação • Pode ser local ou distribuído.
  • 19. Redis como Cache • Interface ICacheClient • Usa o comando SETEX > setex “usuario:3433:nome” 120 “Waldyr Felix” > set “usuario:3433:nome” “Waldyr Felix” > expire “usuario:3433:nome” 120
  • 20. Exemplo de Cache com Redis • Redis • NServiceKit.Redis • Postsharp • Aplicação ~12x mais rápida
  • 21. App Cache Distribuído • Acesso remoto • Suporte a replicação • Segurança integrada • Configuração simples Cache VM1 VM3 VM2
  • 23. Amazon ElastiCache Redis Os End Points da Amazon só podem ser acessados pelos próprios Data Centers, ou seja, para testar precisamos fazer um deployment no AWS.
  • 24. Azure Redis Cache (Preview)
  • 25. Azure Redis Cache (Preview) Os End Points de cache do Microsoft Azure podem ser acessados externamente usando chaves de acesso, da mesma forma que acessamos Azure Storage.
  • 26. Referências • http://redis.io/documentation • https://github.com/ServiceStack/ServiceStack.Redis • https://github.com/NServiceKit/NServiceKit • http://azure.microsoft.com/pt-br/documentation/articles/cache-dotnet- how-to-use-azure-redis-cache/ • http://aws.amazon.com/pt/elasticache/