Cache

Algumas tarefas ou processamento de dados podem consumir muita CPU ou levar vƔrios segundos para serem concluƭdas. Quando esse Ʃ o caso, Ʃ comum armazenar em cache os dados recuperados por um tempo para que possam ser recuperados com maior velocidade em solicitaƧƵes subsequentes dos mesmos dados.

Com isso, o Luna fornece uma opção prÔtica para armazenamento de cache do resultado de rotas, a definição do cache deve ser realizada na criação da rota:

$router->get('/', [
    'cache' => 10000,
    function($request, $response) {
        return Pages\Example::getPage($request, $response);
    }
]);

O tempo de cache Ć© definido em milisegundos.

No exemplo, o cache serÔ armazenado por 10 segundos, nesse período toda requisição trarÔ o mesmo resultado e após um novo intervalo se inicia.

As configuraƧƵes de cache podem ser definidas no arquivo .env:

Configuração
Descrição

CACHE_TIME

Valor padrão de cache

CACHE_DIR

Diretório de armazenamento do cache

ALLOW_NO_CACHE_HEADER

Permitir o header Cache-Control: no-cache

O valor de CACHE_TIME Ʃ definido como tempo de cache (tambƩm em milisegundos) quando o cache da rota for definido como true:

$router->get('/', [
    'cache' => true,
    function($request, $response) {
        return Pages\Example::getPage($request, $response);
    }
]);

O uso de cache: true facilita para utilizar um valor padrão de cache e modifica-lo com praticidade se necessÔrio.

Diretório de cache

Os caches são armazenados em arquivos no diretório ./cache por padrão, caso deseje alterar o endereço para um diretório do sistema operacional utilize um diretório absoluto.

Last updated