(PECL wincache >= 1.1.0)
wincache_ucache_add — Adiciona uma variável no cache do usuário somente se a variável ainda não existir no cache
Adiciona uma variável ao cache do usuário, somente se esta variável ainda não existir no cache. A variável adicionada permanece no cache do usuário, a menos que seu tempo de vida expire ou seja excluída usando as funções wincache_ucache_delete() ou wincache_ucache_clear().
key
Armazene a variável usando este nome key. Se uma variável com a mesma chave já estiver presente, a função
falhará e retornará false. key diferencia maiúsculas de minúsculas. Para substituir o valor mesmo se
key estiver presente, use a função wincache_ucache_set() em vez disso.
key também pode receber um array de pares nome => valor, onde os nomes serão usados como chaves.
Isso pode ser usado para adicionar vários valores ao cache em uma única operação, evitando assim condições de corrida.
value
Valor de uma variável a ser armazenada. Value suporta todos os tipos de dados, exceto recursos, como identificadores de arquivo.
Este parâmetro é ignorado se o primeiro argumento for um array. Uma orientação geral é passar null
como value enquanto usa array como key. Se value for um
objeto ou um array contendo objetos, os objetos serão serializados. Consulte
__sleep() para obter detalhes sobre a serialização de objetos.
valuesArray associativo de chaves e valores.
ttl
Tempo que a variável permanece no cache em segundos. Após o valor especificado em ttl ser excedido,
a variável armazenada será excluída do cache. Este parâmetro assume o valor padrão de 0, o que significa que
a variável permanecerá no cache, a menos que seja explicitamente excluída usando as funções wincache_ucache_delete()
ou wincache_ucache_clear().
Se key for uma string, a função retornará true em caso de sucesso e false em caso de falha.
Se key for um array, a função retornará:
false;
Exemplo #1 wincache_ucache_add() com key sendo uma string
<?php
$bar = 'BAR';
var_dump(wincache_ucache_add('foo', $bar));
var_dump(wincache_ucache_add('foo', $bar));
var_dump(wincache_ucache_get('foo'));
?>O exemplo acima produzirá:
bool(true) bool(false) string(3) "BAR"
Exemplo #2 wincache_ucache_add() com key sendo um array
<?php
$colors_array = array('green' => '5', 'Blue' => '6', 'yellow' => '7', 'cyan' => '8');
var_dump(wincache_ucache_add($colors_array));
var_dump(wincache_ucache_add($colors_array));
var_dump(wincache_ucache_get('Blue'));
?>O exemplo acima produzirá:
array(0) { }
array(4) {
["green"]=> int(-1)
["Blue"]=> int(-1)
["yellow"]=> int(-1)
["cyan"]=> int(-1)
}
string(1) "6"