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);
}
?>