PHPCon Poland 2024

apcu_add

(PECL apcu >= 4.0.0)

apcu_add Faz cache de uma nova variável no armazenamento de dados

Descrição

apcu_add(string $key, mixed $var, int $ttl = 0): bool
apcu_add(array $values, mixed $unused = NULL, int $ttl = 0): array

Faz cache de uma variável no armazenamento de dados, somente se já não estiver armazenada.

Nota: Deferentemente de outros mecanismos no PHP, variáveis armazenadas usando apcu_add() irão persistir entre requisições (até que o valor seja removido do cache).

Parâmetros

key

Armazena a variável usando este nome. Uma chave definida por key deve ser única no cache, portanto tentar usar apcu_add() para armazenar dados com uma chave que já existe não substutuirá os dados existentes, e ao invés disso retornará false. Esta é a única diferença entre apcu_add() e apcu_store().

var

A variável a ser armazenada

ttl

Tempo de vida (Time To Live); armazena var no cache por ttl segundos. Depois que ttl segundos tiverem decorrido, a variável armazenada será excluída do cache (na próxima requisição). Se o parâmetro ttl não for fornecido (ou se ttl for 0), o valor persistirá até que seja removido do cache manualmente, ou se não existir mais no cache (em uma limpeza, reinício, etc.).

values

Nomes nas chaves, variáveis no valor.

Valor Retornado

Retorna TRUE se algo foi efetivamente adicionado ao chace, FALSE caso contrário. A segunda sintaxe retorna um array com chaves de erros.

Exemplos

Exemplo #1 Um exemplo de apcu_add()

<?php
$bar
= 'BAR';
apcu_add('foo', $bar);
var_dump(apcu_fetch('foo'));
echo
"\n";
$bar = 'NEVER GETS SET';
apcu_add('foo', $bar);
var_dump(apcu_fetch('foo'));
echo
"\n";
?>

O exemplo acima produzirá:

string(3) "BAR"
string(3) "BAR"

Veja Também

add a note

User Contributed Notes 1 note

up
4
sritter at satoya dot cz
3 years ago
This is usable for locking/unlocking

<?php
do {} while (!apcu_add('lock_name', 'foo', 10));
// this part is protected against multiple/multithread run
apcu_delete('lock_name');
To Top