Adquire um bloqueio exclusivo em uma determinada chave

# wincache_lock

(PECL wincache >= 1.1.0)

wincache_lock — Adquire um bloqueio exclusivo em uma determinada chave

### Descrição

function wincache_lock(string `$key`, bool `$isglobal` = `false`): bool

Obtém um bloqueio exclusivo em uma determinada chave. A execução do script atual será bloqueada até que o bloqueio seja obtido. Uma vez obtido o bloqueio, os outros scripts que tentarem solicitá-lo usando a mesma chave serão bloqueados, até que o script atual libere o bloqueio usando wincache_unlock().

Aviso

O uso de wincache_lock() e wincache_unlock() pode causar deadlocks ao executar scripts PHP em um ambiente multiprocesso como o FastCGI. Não use essas funções a menos que tenha absoluta certeza de que precisa usá-las. Para a maioria das operações no cache do usuário, não é necessário usar essas funções.

### Parâmetros

`key`

  Nome da chave no cache para obter o bloqueio.

`isglobal`

  Controla se o escopo do bloqueio é de todo o sistema ou local. Os bloqueios locais têm como escopo o pool de aplicativos no caso do IIS FastCGI ou todos os processos PHP que possuem o mesmo identificador de processo pai.

### Valor Retornado

Retorna `true` em caso de sucesso ou `false` em caso de falha.

### Exemplos

Exemplo #1 Usando wincache_lock()

    <?php
    $fp = fopen("/tmp/lock.txt", "r+");
    if (wincache_lock(“lock_txt_lock”)) { // faz um bloqueio exclusivo
        ftruncate($fp, 0); // trunca o arquivo
        fwrite($fp, "Escreve algo aqui\n");
        wincache_unlock(“lock_txt_lock”); // libera o bloqueio
    } else {
        echo "Não foi possível obter o bloqueio!";
    }
    fclose($fp);
    ?>

### Veja Também

- wincache_unlock() - Libera um bloqueio exclusivo em uma determinada chave
- wincache_ucache_set() - Adiciona uma variável no cache do usuário e substitui uma variável se ela já existir no cache
- wincache_ucache_get() - Obtém uma variável armazenada no cache do usuário
- wincache_ucache_delete() - Exclui variáveis ​​do cache do usuário
- wincache_ucache_clear() - Exclui todo o conteúdo do cache do usuário
- wincache_ucache_exists() - Verifica se uma variável existe no cache do usuário
- wincache_ucache_meminfo() - Recupera informações sobre o uso da memória cache do usuário
- wincache_ucache_info() - Recupera informações sobre dados armazenados no cache do usuário
- wincache_scache_info() - Recupera informações sobre arquivos armazenados em cache no cache de sessão

`↑` and `↓` to navigate • `Enter` to select • `Esc` to close • `/` to open