Você já pode ter precisado fazer cache de dados usando PHP, seja de templates de páginas ou informações especificas da sessão para uso posterior e de várias outras formas usamos o sistema de cache para tentar otimizar nossa aplicação. As vezes, até mesmo em sites precisamos recorrer a essa metodologia. Se você é um usuário de web framework php já deve ter usado isso de alguma, claro que usou a versão do próprio framework acredito eu. Quero oferecer uma alternativa para quando não estiver usando um framework.
Se você ainda conhece, teste o phpFastCache que é uma ferramenta de cache de dados com alta performance de forma genérica, ou seja, ele faz cache de dados que desejar, usando a melhor forma disponível em seu servidor. Ele seleciona por padrão a melhor forma de cache, porém você pode definir qual deseja usar, ele suporta Redis, APC, XCache, MemCache, MemCached, WinCache, Cookie e até mesmo em A_rquivo_ se desejar.
Ele é uma ferramenta bem simples que pode usar até mesmo para otimizar API Request, veja abaixo um exemplo:
<?php
// adicionar a classe do phpFastCache
include("phpfastcache/phpfastcache.php");
// define que vai usar o memcached para fazer os caches
$cache = phpFastCache("memcached");
// tenta pegar o cache, caso ja exista.
$results = $cache->get("identity_keyword");
// defina seu cURL parametros
// $cURL = new cUrl;
// verifica se ja tem cache senao pega novo cache
if ($results == null) {
$results = $cURL->get("http://www.youtube.com/api/json/url/keyword/page");
// salva os dados pegos em cache para evitar ficar fazendo request toda fez
$cache->set("identity_keyword", $results, 3600*24);
}
foreach($results as $video) {
// aqui voce personaliza o que deseja fazer
}
?>
Seu que o exemplo não é o melhor do mundo, porém já passa a ideia do que pode ser feito e como pode melhor o tempo de resposta de sua aplicação e até mesmo economizar dinheiro quando você usa API pagas que controlam o número de request. Sei que irá lhe fazer uma grande diferença no final do mês caso tenha muitos acessos desnecessários.
Veja mais sobre o phpFastCache em http://www.phpfastcache.com/ (inglês) ou em https://github.com/khoaofgod/phpfastcache
Espero muito ter lhe ajudado, como já ajudei alguns amigos com essa dica maneira
Abraços 😀