= Cache = Este documento tem por finalidade demonstrar a o uso de cache( servidor, php, http ). == Cache Servidor == Diversas ferramentas ( frameworks ) implementam a funcionalidade de cache de dados no servidor, hoje uma das mais utilizadas visto sua propriedade de escalabilidade entre servidores é mencache ( memory object caching system ), em segunda camada de cache muito utilizado fica o cache de códigos compilados, hoje já incorporado ao php e muito utilizado encontra-se o APC ( Alternativo PHP cache ); == Cache via Http == O protocolo HTTP nos permite informar "instruções" para que proxy, gateway e browsers armazenem cache de "dados" sobre determinadas condições, aumentando significativamente a performace/esbalabilidade da aplicação. = Proposta de Implementação = A proposta aqui abordada levando em considerações as tecnologias e ferramentas hoje disponíveis, vem a servir como complemento a API Rest sendo desenvolvida a fim de aumentar a performance e escalabilidade. Para esta esta meta, é mostrada a seguinte arquitetura: [[Image(wiki:cache:sampleArquiteture.png, 60%?)]][[BR]] ^Figura 1: Exemplo demonstrativo da arquitetura^ Conforme ilustrado acima: HTTP: Conforme nos possibilita o protocolo HTTP podemos utilizar os recursos compartilhados ( proxy e gateway ) e recursos privados ( browser ) para cachear dados, sendo que quando o dado é encontrado sob posse deste recursos a resposta é quase que instantânea ao cliente. Os recursos compartilhados (proxy e gateway) cacheiam as informações somente quando o cabeçalho HTTP informar que o controle do cache é publico ( public ), sendo que quando o mesmo é usado deve cuidar o tipo de informação a se informar visto que o cache será de "domínio" público.