(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.
values
Array 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"