Pra que eu quero um cache ???? Parte 1

Bom neste artigo resolvi colocar algumas inobservâncias que esbarro quando vou dar manutenção em maquinas que trabalha como cache. Tenho visto muito se falar em LUSCA, THUNDER, SCRIPTS etc pra dar uma acelerada na rede.

MAS O QUE É O CACHE:(diz o cliente)

O cache é um armazenador de conteúdo. Você já percebeu que quando abre a  mesma pagina que ja abriu no seu computador ela abre mais rápido na segunda vez ??

Pois é, essa é a ideia de um sistema de cache, guardar as paginas que são acessadas pelos usuarios e quando um outro usuario da rede solicitar, ela desce VOANDO pro cliente dando a impressão que o link esta uma beleza.

Parece uma tarefa simples né, é so criar um repositorio e ficar escutando as solicitações do cliente, se for a mesma, devolve o que tem aqui pra ele rapidão… mas não é bem assim.

Com a evolução das linguagens dinâmicas, as paginas agora são mais INTELIGENTES e dificulta a vida do cache, vou dar um exemplo:

Em uma pagina .html nativa, o conteúdo é sempre o mesmo então nosso amigo cache salva ela lá dentro e so espera ser solicitada para mostrar serviço, vamos ver uma pagina em HTML na chamada (exemplo):

http://www.paginaestatica.com.br/index.html

Beleza, ele guardou a pagina index, e suas referencias tipo:

http://www.paginaestatica.com.br/imagens/logo.gif

http://www.paginaestatica.com.br/imagens/enviar.jpg

Todas entraram pro cache beleza! MAS…

Se o conteúdo for se um site que tenha um banco de dados por exemplo (como assim banco de dados??)?

Imagine um site de vendas pela internet, cada vez que vc clica em um produto, o site dispara uma solicitação pro banco de dados e a página é montada ali na hora, isso é, muito provavelmente a url (endereço da web) se tornara algo que não se repete, ou seja, o cache vai fazer o trabalho dele deixando entrar mas ela nunca vai sair pois a chamada para aquele site é sempre diferente, com isso nosso cache agora só vai inchar, inchar e nada de resultado pois todas as vezes que for solicitado o endereço ele so vai guardar o conteúdo.

Ex de uma chamada dinâmica:

http://www.americanas.com.br/ofertas/HomeLandingPage3/arvores/232169/5477429/5053611?chave=natal_x0_arvores&ofertas.order=salesPriceasc

Prestem atenção naqueles numeros, eles são dinâmicos ou seja, pra cada usuario tem uma numeração diferente, seja pra proteção do site ou pelo fato de usar cookies. E por falar em cookies, deixe eu só esclarecer o que são, cooquies são fragmentos de informações que ficam armazenadas no seu navegador, ex: vc foi no site de compra (que usa cooquies) e procurou um livro tecnico de linux, daqui um tempo quando vc entrar novamente, o site vai ver pelo cooquie o que vc estava procurando e logo de cara, como por magica, lhe oferece os livros técnico de linux sem que vc perceba, ele aprende que vc gosta de literatura tecnica pois vc ja procurou uma vez.

Voltando ao nosso cache, o que podemos fazer agora que ele só incha e não devolve ???

Vamos partir pra o que realmente interessa, o que pesa na página, seja video flv, seja swf, seja avi pois isso sim é interessante guardar pois isso quebra qualquer provedor, os videos principalmente.

Dai surge as grandes ideias, videocache, thunder-cache, scripts perl e php etc, o que elez fazem? Interpretam a URL de chamada, olham o conteúdo e guardam pra consultas reversas. Vamos ver um exemplo do youtube:

o cara acaba de assistir um video, como os servidores do youtube são dinamicos, cada vez que o cara chamar o video ele vem de um servidor diferente (via de regra).

chamei o video pelo nome estatico:

ele foi buscar o video em

h t t p: \/\/v20 .lscache7 .c.youtube. com \/generate_204?ip=0.0.0.0&sparams=id%2Cexpire%2Cip%2Cipbits%2Citag%2Calgorithm%2Cburst%2Cfactor%2Coc%3AU0dYR1lMUl9FSkNNOF9RRlZJ&algorithm=throttle-factor&itag=34&ipbits=0&burst=40&sver=3&expire=1292914800&key=yt1&”;signature=CEBF1351C51C401EC9CDC7E71C979C9276BBCF45.A6D2940FE75A7DD5C219E2241FA678A5AB2CA922&factor=1.25&id=ec8eec99ffe20f7b”

chamei o video novamente em outro compudador
h t t p: \/\/v18 .lscache2 .c.youtube. com\/generate_204?ip=0.0.0.0&sparams=id%2Cexpire%2Cip%2Cipbits%2Citag%2Calgorithm%2Cburst%2Cfactor%2Coc%3AU0dYR1lMUl9FSkNNOF9RRlZJ&algorithm=throttle-factor&itag=34&ipbits=0&burst=40&sver=3&expire=1292914800&key=yt1&signature=A6D2940FE75A7DD5C219E2241FA678A5AB2CA922.CEBF1351C51C401EC9CDC7E71C979C9276BBCF45&factor=1.25&id=ec8eec99ffe20f7b

Veja que ele veio de outro servidor mas… olhem o final do link e vão ver

ec8eec99ffe20f7b que é o nome do arquivo .flv (que não se repete).

O que o cache inteligente faz, olha se no link tem a palavra youtube, params=id bla bla bla, tem? então pege o final e guarde pra mim.
Quando alguem solicitar e tiver youtube, params=id, e o ec8eec99ffe20f7b eu ja sei que é pra devolver o flv “ec8eec99ffe20f7b.flv” mas ele não vai olhar se o servidor é o v20 ou v18 ou seja la qual for.

Com isso seu cache agora olha só o que interessa que é o conteúdo pesado, videos, atualizações do windows, de antivírus e etc. Coisas que se repetem mas são modificadas dinamicamente.

Bom com isso temino esse primeiro post pra dar uma visão do que é um cache e porque usar um thunder, videocache etc.

Bom, no proximo tópico vamos entrar na parte técnica, configurando um servidor linux com as mudanças necessarias pra o bom andamento do mesmo. Até lá!!

por int21 Postado em Cache

Um comentário em “Pra que eu quero um cache ???? Parte 1

  1. Boa noite Celso. Quando sai a 2 parte kkkkkkkk. Falei c/ você faz um tempo já sobre levantar um cache aqui na rede, não me lembro o nome que você tinha falado. Abraço.

Deixe seu comentário ;)

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair /  Alterar )

Foto do Google

Você está comentando utilizando sua conta Google. Sair /  Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair /  Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair /  Alterar )

Conectando a %s