SlideShare uma empresa Scribd logo
Memcached cache de objetos de alta performance Guilherme Chapiewski http://gc.blog.br <guilherme.chapiewski@gmail.com>
O que é cache?
O que  é cache? “ Em ciência da computação, cache é uma c ole ção de dados previamente computados, armazenados em algum local de acesso mais rápido que o local original, utilizado em casos aonde o dado original exige muito esforço computacional para ser obtido ou gerado.” http://en.wikipedia.org/wiki/Cache
O que  é cache? “ Em outras palavras, cache é um armazenamento temporário onde dados frequentemente acessados podem ser acessados com alta velocidade. Uma vez que o dado é armazenado no cache, acessos futuros à mesma informação podem ser feitos acessando a cópia cacheada ao invés de re-computar o dado original, fazendo com que o tempo médio de acesso seja menor.” http://en.wikipedia.org/wiki/Cache
Porque devemos usar cache?
Porque devemos usar cache ? Poupar recursos computacionais (especialmente os compartilhados). Melhorar o tempo de resposta para os usu ários da aplicação. Aumentar a capacidade da aplicação (atender mais usuários).
O que é Memcached?
O que  é o Memcached? S istema de cache de objetos em memória concebido para aumentar a velocidade de aplicações dinâmicas aliviando a carga do banco de dados. Desenvolvido pela  Danga Interactive  para aumentar a velocidade do LiveJournal.com, um site com 20 milh ões + de visualiza ções de páginas dinâmicas por dia!
Quais vantagens trouxe para o LiveJournal.com? Reduziu drasticamente a utiliza ção de banco de dados. Melhorou significativamente o tempo de resposta da aplicação para o usuário. Aumentou a velocidade de resposta do banco de dados nos casos de acesso  à informações não cacheadas devido a baixa utilização do mesmo.
Como funciona?
Como funciona o Memcached: Fica fora da JVM - é um daemon escutando em alguma porta esperando por conexões. Funciona  como se fosse um grande hash table, armazenando pares de chave=valor. Atrav és de uma chave é possível armazenar ou obter um valor qualquer . A aplica ção usa um cliente que se conecta ao Memcached para armazenar e obter os dados. Do ponto de vista da aplicação o funcionamento é idêntico a outras engines de cache como JBossCache, EhCache ou OSCache.
Como funciona o Memcached:
Configura ção do ambiente : Configura-se a quantidade de instâncias de Memcached desejadas. O cliente é configurado com o endereço de  todas  as instâncias de Memcached, ou seja, em todos os applications servers todos os clientes terão a mesma configuração. É o cliente que decide qual servidor de Memcached atenderá cada requisição baseado num hash gerado a partir da chave utilizada para o cache de um determinado valor.
Exemplo: Passo 1 : a aplica çao solicita as chaves  foo ,  bar  e  baz  utilizando o cliente do Memcached , que calcula o hash das chaves determinando qual servidor atender á  a requisi ção .
Exemplo: Passo 2 : o cliente do Memcached faz paralelamente resuisi ções à todos os servidores relevantes .
Exemplo: Passo 3 : o Memcached envia respostas ao cliente que fez a requisi ção .
Exemplo: Passo 4 : o cliente do Memcached retorna os dados para a aplica ção, encapsulando toda a complexidade da infraestrutura .
Alguns pontos: Somente o primeiro acesso à uma chave gera cache. Os acessos seguintes são “cache hit”. Mesmo que o segundo acesso seja feito por outro application server, todos eles sempre irão no mesmo Memcached para uma determinada chave. Todo cache expira depois de um determinado tempo (configurado pelo usuário no momento da criação da entrada no cache). Se a memória do Memcached acabar, os itens mais antigos vão sendo removidos para dar espaço aos novos (LRU).
Para saber mais: O que  é cache:  http://en.wikipedia.org/wiki/Cache Site do Memcached:  http://www.danga.com/memcached/ Memcached FAQ:  http://www.socialtext.net/memcached/index.cgi?faq Artigo sobre cache distribu ído com Memcached:  http://www.linuxjournal.com/article/7451

Mais conteúdo relacionado

PDF
Soluções de Web Caching e Web Acceleration - Domingos Parra Novo
PDF
Desenvolvendo aplicações Web escaláveis
PDF
Servidor proxy Squid
PDF
Cflp t017
PPTX
Cache de dados com PHP
PDF
Linux Servidor Proxy(squid)
PDF
Servidor Proxy Squid
PDF
Oficina de Squid: Filtros Inteligentes
Soluções de Web Caching e Web Acceleration - Domingos Parra Novo
Desenvolvendo aplicações Web escaláveis
Servidor proxy Squid
Cflp t017
Cache de dados com PHP
Linux Servidor Proxy(squid)
Servidor Proxy Squid
Oficina de Squid: Filtros Inteligentes

Mais procurados (20)

PDF
Varnish no clicRBS
PPSX
Implementação de Servidor Linux Ubuntu Server
PDF
Melhorando o desempenho do seu WordPress [WordCamp Porto Alegre 2015]
PDF
Cache em serviços rest com java (jax-rs)
PDF
Como criar infraestrutura de sites para receber milhões de usuários?
PDF
Alta disponibilidade com PostgreSQL
ODP
PostgreSQL Transformando um elefante numa manada
PDF
Desenvolvendo um buscador com PHP e Elasticsearch - Fernando Silva - Tchelinu...
PPT
Talk at QConSP
PPTX
Estudo comparativo entr bancos RDBMS, NoSQL e NewSQL
PPTX
1º Meetup Zabbix Meetup do Recife: Francys Nivea - LLD ODBC
PDF
Seminário sobre Bitcoin- Professor Newton Licciardi
PDF
Apache kafka
PPT
Seminário sobre bitcoin por prof newton licciardi
PDF
Google File System
PDF
De 1 a 1.000.00 de usuários
PDF
Microserviços - Cristiano dos Santos Diedrich - Tchelinux Bento Gonçalves 2017
PDF
Criando um Website Cacheavel
PDF
Net::RabbitMQ(::Simple)
Varnish no clicRBS
Implementação de Servidor Linux Ubuntu Server
Melhorando o desempenho do seu WordPress [WordCamp Porto Alegre 2015]
Cache em serviços rest com java (jax-rs)
Como criar infraestrutura de sites para receber milhões de usuários?
Alta disponibilidade com PostgreSQL
PostgreSQL Transformando um elefante numa manada
Desenvolvendo um buscador com PHP e Elasticsearch - Fernando Silva - Tchelinu...
Talk at QConSP
Estudo comparativo entr bancos RDBMS, NoSQL e NewSQL
1º Meetup Zabbix Meetup do Recife: Francys Nivea - LLD ODBC
Seminário sobre Bitcoin- Professor Newton Licciardi
Apache kafka
Seminário sobre bitcoin por prof newton licciardi
Google File System
De 1 a 1.000.00 de usuários
Microserviços - Cristiano dos Santos Diedrich - Tchelinux Bento Gonçalves 2017
Criando um Website Cacheavel
Net::RabbitMQ(::Simple)
Anúncio

Semelhante a Memcached (20)

PDF
Memcached - Uma alternativa de cache para arquiteturas de alta escalabilidade
PDF
Tutorial memcached
PDF
Melhorando a performance de aplicações com o uso do MemCache
PDF
Vamos conversar sobre cache
PDF
Aws sao paulo summit 2015 elasti cache avancado
PDF
Cache em aplicações web
ODP
Escalabilidade em Aplicações - Fisl13
PDF
Desenvolvendo aplicativos web escaláveis
PDF
Ao infinito e além com PHP memcached e Gearman
PDF
Otimizacao de websites em PHP
PDF
Redis e Estratégias Cache Distribuído
PPTX
Implementando Cache no Mulesoft Flow usando Redis
PDF
NoSQL Livre
PPTX
ASP.NET - Cache
PPTX
Cache com redis novatec
PPTX
Cache com redis novatec
PPTX
Mule Meetup Cache Redis
PDF
PHP, Gearman e Memcache
PPTX
Appi303 daibert
PDF
07 - Osvaldo Daibert - Cenários para cache de dados distribuidos
Memcached - Uma alternativa de cache para arquiteturas de alta escalabilidade
Tutorial memcached
Melhorando a performance de aplicações com o uso do MemCache
Vamos conversar sobre cache
Aws sao paulo summit 2015 elasti cache avancado
Cache em aplicações web
Escalabilidade em Aplicações - Fisl13
Desenvolvendo aplicativos web escaláveis
Ao infinito e além com PHP memcached e Gearman
Otimizacao de websites em PHP
Redis e Estratégias Cache Distribuído
Implementando Cache no Mulesoft Flow usando Redis
NoSQL Livre
ASP.NET - Cache
Cache com redis novatec
Cache com redis novatec
Mule Meetup Cache Redis
PHP, Gearman e Memcache
Appi303 daibert
07 - Osvaldo Daibert - Cenários para cache de dados distribuidos
Anúncio

Mais de Guilherme Chapiewski (6)

KEY
Aplicações nativas para iOS e Android com JavaScript e Titanium Mobile
PDF
Usando a Internet como plataforma
PDF
Linguagens mais requisitadas no mercado e o valor das certificações
PPT
Desenvolvimento Guiado Por Testes
PPT
Desenvolvimento Ágil com XP e Scrum
PDF
Liderando Equipes Ágeis
Aplicações nativas para iOS e Android com JavaScript e Titanium Mobile
Usando a Internet como plataforma
Linguagens mais requisitadas no mercado e o valor das certificações
Desenvolvimento Guiado Por Testes
Desenvolvimento Ágil com XP e Scrum
Liderando Equipes Ágeis

Último (16)

PDF
Gestão de transportes básica no SAP S/4HANA, S4611 Col20
PDF
Fullfilment AI - Forum ecommerce 2025 // Distrito e Total Express
PDF
Custos e liquidação no SAP Transportation Management, TM130 Col18
PPTX
Gestao-de-Bugs-em-Software-Introducao.pptxxxxxxxx
PDF
Processos na gestão de transportes, TM100 Col18
PDF
20250805_ServiceNow e a Arquitetura Orientada a Serviços (SOA) A Base para Ap...
PDF
Termos utilizados na designação de relação entre pessoa e uma obra.pdf
PPTX
Como-se-implementa-um-softwareeeeeeeeeeeeeeeeeeeeeeeee.pptx
PDF
Otimizador de planejamento e execução no SAP Transportation Management, TM120...
PDF
COBITxITIL-Entenda as diferença em uso governança TI
PPTX
Informática Aplicada Informática Aplicada Plano de Ensino - estudo de caso NR...
PPTX
Programação - Linguagem C - Variáveis, Palavras Reservadas, tipos de dados, c...
PPTX
Arquitetura de computadores - Memórias Secundárias
PDF
Fundamentos de gerenciamento de ordens e planejamento no SAP TransportationMa...
PDF
Custos e faturamento no SAP S/4HANA Transportation Management, S4TM3 Col26
PDF
Mergulho profundo técnico para gestão de transportes no SAP S/4HANA, S4TM6 Col14
Gestão de transportes básica no SAP S/4HANA, S4611 Col20
Fullfilment AI - Forum ecommerce 2025 // Distrito e Total Express
Custos e liquidação no SAP Transportation Management, TM130 Col18
Gestao-de-Bugs-em-Software-Introducao.pptxxxxxxxx
Processos na gestão de transportes, TM100 Col18
20250805_ServiceNow e a Arquitetura Orientada a Serviços (SOA) A Base para Ap...
Termos utilizados na designação de relação entre pessoa e uma obra.pdf
Como-se-implementa-um-softwareeeeeeeeeeeeeeeeeeeeeeeee.pptx
Otimizador de planejamento e execução no SAP Transportation Management, TM120...
COBITxITIL-Entenda as diferença em uso governança TI
Informática Aplicada Informática Aplicada Plano de Ensino - estudo de caso NR...
Programação - Linguagem C - Variáveis, Palavras Reservadas, tipos de dados, c...
Arquitetura de computadores - Memórias Secundárias
Fundamentos de gerenciamento de ordens e planejamento no SAP TransportationMa...
Custos e faturamento no SAP S/4HANA Transportation Management, S4TM3 Col26
Mergulho profundo técnico para gestão de transportes no SAP S/4HANA, S4TM6 Col14

Memcached

  • 1. Memcached cache de objetos de alta performance Guilherme Chapiewski http://gc.blog.br <guilherme.chapiewski@gmail.com>
  • 2. O que é cache?
  • 3. O que é cache? “ Em ciência da computação, cache é uma c ole ção de dados previamente computados, armazenados em algum local de acesso mais rápido que o local original, utilizado em casos aonde o dado original exige muito esforço computacional para ser obtido ou gerado.” http://en.wikipedia.org/wiki/Cache
  • 4. O que é cache? “ Em outras palavras, cache é um armazenamento temporário onde dados frequentemente acessados podem ser acessados com alta velocidade. Uma vez que o dado é armazenado no cache, acessos futuros à mesma informação podem ser feitos acessando a cópia cacheada ao invés de re-computar o dado original, fazendo com que o tempo médio de acesso seja menor.” http://en.wikipedia.org/wiki/Cache
  • 6. Porque devemos usar cache ? Poupar recursos computacionais (especialmente os compartilhados). Melhorar o tempo de resposta para os usu ários da aplicação. Aumentar a capacidade da aplicação (atender mais usuários).
  • 7. O que é Memcached?
  • 8. O que é o Memcached? S istema de cache de objetos em memória concebido para aumentar a velocidade de aplicações dinâmicas aliviando a carga do banco de dados. Desenvolvido pela Danga Interactive para aumentar a velocidade do LiveJournal.com, um site com 20 milh ões + de visualiza ções de páginas dinâmicas por dia!
  • 9. Quais vantagens trouxe para o LiveJournal.com? Reduziu drasticamente a utiliza ção de banco de dados. Melhorou significativamente o tempo de resposta da aplicação para o usuário. Aumentou a velocidade de resposta do banco de dados nos casos de acesso à informações não cacheadas devido a baixa utilização do mesmo.
  • 11. Como funciona o Memcached: Fica fora da JVM - é um daemon escutando em alguma porta esperando por conexões. Funciona como se fosse um grande hash table, armazenando pares de chave=valor. Atrav és de uma chave é possível armazenar ou obter um valor qualquer . A aplica ção usa um cliente que se conecta ao Memcached para armazenar e obter os dados. Do ponto de vista da aplicação o funcionamento é idêntico a outras engines de cache como JBossCache, EhCache ou OSCache.
  • 12. Como funciona o Memcached:
  • 13. Configura ção do ambiente : Configura-se a quantidade de instâncias de Memcached desejadas. O cliente é configurado com o endereço de todas as instâncias de Memcached, ou seja, em todos os applications servers todos os clientes terão a mesma configuração. É o cliente que decide qual servidor de Memcached atenderá cada requisição baseado num hash gerado a partir da chave utilizada para o cache de um determinado valor.
  • 14. Exemplo: Passo 1 : a aplica çao solicita as chaves foo , bar e baz utilizando o cliente do Memcached , que calcula o hash das chaves determinando qual servidor atender á a requisi ção .
  • 15. Exemplo: Passo 2 : o cliente do Memcached faz paralelamente resuisi ções à todos os servidores relevantes .
  • 16. Exemplo: Passo 3 : o Memcached envia respostas ao cliente que fez a requisi ção .
  • 17. Exemplo: Passo 4 : o cliente do Memcached retorna os dados para a aplica ção, encapsulando toda a complexidade da infraestrutura .
  • 18. Alguns pontos: Somente o primeiro acesso à uma chave gera cache. Os acessos seguintes são “cache hit”. Mesmo que o segundo acesso seja feito por outro application server, todos eles sempre irão no mesmo Memcached para uma determinada chave. Todo cache expira depois de um determinado tempo (configurado pelo usuário no momento da criação da entrada no cache). Se a memória do Memcached acabar, os itens mais antigos vão sendo removidos para dar espaço aos novos (LRU).
  • 19. Para saber mais: O que é cache: http://en.wikipedia.org/wiki/Cache Site do Memcached: http://www.danga.com/memcached/ Memcached FAQ: http://www.socialtext.net/memcached/index.cgi?faq Artigo sobre cache distribu ído com Memcached: http://www.linuxjournal.com/article/7451