memcache em tudo!

7 06 2008

Não sei como passei tanto tempo sem usar memcache. Numa breve conversa com o Gleicon, ele mencionou isso e em 15 minutos implementei no meu sistema de busca.

A API do cliente em python é extremamente simples, e o resultado é extremamente satisfatório. Agora, sempre que um usuário executa uma busca no sistema, ele verifica se os resultados estão no cache. Caso não estejam, o sistema faz o SELECT no banco e guarda N linhas no cache – algo como duas páginas, 200 registros.

Com isso, pude reduzir muito o uso do banco de dados e retornar os valores desejados em tempos menores que um quarto de segundo. Quanto mais usam o sistema, mais resultados vão pro cache, e assim ele se torna cada vez mais rápido.

Finalmente uma solução decente.


Ações

Informações

5 respostas

17 06 2008
against

pq c nao usa o proprio cache do banco ? overhead da conexao ?

17 06 2008
alef

o leo, vira homem! você que é um “exímio” dba não aprendeu o básico? banco não é o lugar pra fazer cache. a idéia de usar o memcache é justamente tirar a carga do banco, e deixa ele quieto pra fazer só o que realmente precisa.

sempre que faço uma query, guardo os primeiros (tipo, 1000) resultados no banco, e dai pra frente é só memcache meu. assim, quando o usuário clica na “página 2″ dos resultados, já nem vai mais no banco. o resultado é infinitamente superior.

se liga no primeiro parágrafo do site da danga, dos caras que fizeram o memcache:

Danga Interactive developed memcached to enhance the speed of LiveJournal.com, a site which was already doing 20 million+ dynamic page views per day for 1 million users with a bunch of webservers and a bunch of database servers. memcached dropped the database load to almost nothing, yielding faster page load times for users, better resource utilization, and faster access to the databases on a memcache miss.

1 12 2008
Franciel Dors

Bom artigo… nao consigo aplicar…
nao achei servidor q disponibilize essa ferramenta, alguma indicação?

1 12 2008
alef

então, as máquinas que uso pra desenvolvimento e produção são linux ubuntu server, as versões mais recentes.

no ubuntu, o memcached já está disponível como pacote debian, e pode ser instalado com apt-get.

de qualquer forma, você pode baixar o memcache daemon direto no site da danga:

http://www.danga.com/memcached/

4 01 2009
mysql e memcache « coisas lunix

[...] e memcache 4 01 2009 Certa vez coloquei um artigo sobre memcache no blog, e agora estou colocando outro  que mostra um pequeno exemplo em python para mascarar da [...]

Deixe um comentário