Pular para conteúdo

Cache

Cache - limpeza avançada

Remove um ou mais arquivos do cache da GoCache utilizando wildcards na URL, content-type e tags.

Podem ser especificadas no máximo 50 urls por chamada. A limpeza está limitada ao máximo de 5.000 objetos em cache.

As tags de um objeto são definidas no cabeçalho de resposta "Cache-Tags". O valor do mesmo deve ser uma lista separada por vírgula e espaços são ignorados (e.g.: "Cache-Tags: tag1, tag2, tag3").

Todos os parámetros são opcionais, porém é necessário que pelo menos um (urls ou content-type ou tags) seja especificado.

DELETE /v1/cache/{dominio}
$ curl -i https://api.gocache.com.br/v1/cache/seudominio.com.br \
-X DELETE \
    -H 'GoCache-Token:seu_token' \
    -d 'urls[1]=http://www.seudominio.com.br/*.jpg' \
    -d 'urls[2]=http://www.seudominio.com.br/*?ver=4.3' \
    -d 'urls[3]=http://www.seudominio.com.br/static/*' \
    -d 'content-type=image/*' \
    -d 'tag[1]=blog' \
    -d 'tag[2]=imagens'
<?php

$ch = curl_init("https://api.gocache.com.br/v1/cache/seudominio.com.br");

curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "DELETE");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE);

curl_setopt($ch, CURLOPT_HTTPHEADER, array("GoCache-Token: seu_token"));

$urls = array(
    "urls[1]=http://www.seudominio.com.br/*.jpg",
    "urls[2]=http://www.seudominio.com.br/*?ver=4.3",
    "urls[3]=http://www.seudominio.com.br/static/*",
    "content-type=image/*",
    "tag[1]=blog",
    "tag[2]=imagens"
    );

curl_setopt($ch, CURLOPT_POSTFIELDS, implode("&", $urls));

$response = curl_exec($ch);
$statusCode = curl_getinfo($ch, CURLINFO_HTTP_CODE);

curl_close($ch);
?>

Parâmetros

Campo Opcional Tipo Descrição
url[ ] Lista Lista com URLs de objetos a serem removidos do cache.
content-type String Content type a ser limpo
tag[ ] Lista Lista de tags dos objetos a serem removidos

Exemplo de sucesso

HTTP/1.1 202 OK {
"response": {
    "urls_accepted": [
        "http://www.seudominio.com.br/*.jpg",
        "http://www.seudominio.com.br/*?ver=4.3",
        "http://www.seudominio.com.br/static/*"
    ]
}}
<?php

if( $statusCode == 202 ) {

    echo("Sucesso!\n");

    $obj = json_decode($response);

    foreach($obj->response->urls_accepted as $url) {
        echo("URL aceita para limpeza com sucesso: $url<br />\n");
    }

}
?>

Exemplo de erro

HTTP/1.1 400 Bad Request
{
    "response": {
        "urls_wrong_format": [
            "www.seudominio.com.br/imagem.jpg"
        ],
        "urls_not_allowed": [
            "http://www.google.com/imagem.jpg"
        ]
    }
}
<?php
if( $statusCode != 202 ) {

    echo("Erro! Codigo $statusCode:<br />\n");
    $obj = json_decode($response);

    foreach($obj->response as $key => $url_list) {

        if($key == "urls_not_allowed") {
            foreach($url_list as $url) {
                echo("URL nao permitida pelo cache: $url<br />\n");
            }
        }

        else if($key == "urls_accepted") {
            foreach($url_list as $url) {
                echo("URL aceita para limpeza com sucesso: $url<br />\n");
            }
        }

        else if($key == "urls_wrong_format") {
            foreach($url_list as $url) {
            echo("URL em formato incorreto: $url<br />\n");
            }
        }
    }
}
?>

Limpeza total de cache

Remove todos os objetos em cache de um domínio

DELETE /v1/cache/{dominio}/all
$ curl -i https://api.gocache.com.br/v1/cache/seudominio.com.br/all \
-X DELETE \
-H 'GoCache-Token:seu_token'
<?php

$ch = curl_init("https://api.gocache.com.br/v1/cache/seudominio.com.br/all");

curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "DELETE");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE);

curl_setopt($ch, CURLOPT_HTTPHEADER, array("GoCache-Token: seu_token"));

$response = curl_exec($ch);
$statusCode = curl_getinfo($ch, CURLINFO_HTTP_CODE);

curl_close($ch);
?>

Exemplo de sucesso

HTTP/1.1 200 OK
{
        "msg": "Success"
}
<?php

if( $statusCode == 200 ) {

    echo("Sucesso!\n");

    $obj = json_decode($response);

    echo($obj->msg);

}
?>