# wincache_lock

(PECL wincache >= 1.1.0)

wincache_lock — Acquière un verrou exclusif sur une clé donnée

### Description

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

Obtient un verrou exclusif sur une clé donnée. L'exécution du script courant sera bloqué tant que le verrou ne pourra pas être obtenu. Une fois le verrou obtenu, les autres scripts tentant de requérir le verrou en utilisant la même clé seront bloqués, tant que le script courant n'aura pas libéré le verrou en utilisant la fonction wincache_unlock().

Avertissement

L'utilisation de la fonction wincache_lock() et de la fonction wincache_unlock() peut conduire à des verrous morts lors de l'exécution de scripts PHP sur des environnements multiprocessus, comme FastCGI. N'utilisez pas ces fonctions tant que vous n'êtes pas absolument certain d'en avoir besoin. Pour la majorité des opérations sur le cache utilisateur, il n'est pas nécessaire de les utiliser.

### Liste de paramètres

`key`

  Nom de la clé du cache dont nous souhaitons obtenir un verrou.

`isglobal`

  Contrôle si le contexte du verrou est local ou au niveau système. Les verrous locaux ont un contexte au niveau applicatif dans le cas de l'utilisation sous IIS Fast CGI ou au niveau de tous les processus PHP qui ont le même identifiant parent de processus.

### Valeurs de retour

Cette fonction retourne `true` en cas de succès ou `false` si une erreur survient.

### Exemples

Exemple #1 Exemple avec wincache_lock()

`<?php
$fp = fopen("/tmp/lock.txt", "r+");
if (wincache_lock(“lock_txt_lock”)) { // obtient un verrou exclusif
ftruncate($fp, 0); // tronque le fichier
fwrite($fp, "On écrit quelque chose ici\n");
wincache_unlock(“lock_txt_lock”); // libère le verrou
} else {
echo "Impossible d'obtenir le verrou !";
}
fclose($fp);
?>`

### Voir aussi

- wincache_unlock() - Libère un verrou exclusif sur une clé donnée
- wincache_ucache_set() - Ajoute une variable au cache utilisateur et écrase la variable si elle existe déjà dans le cache
- wincache_ucache_get() - Récupère une variable stokée dans le cache utilisateur
- wincache_ucache_delete() - Supprime les variables du cache utilisateur
- wincache_ucache_clear() - Supprime le contenu d'une entrée du cache utilisateur
- wincache_ucache_exists() - Vérifie si une variable existe dans le cache utilisateur
- wincache_ucache_meminfo() - Récupère des informations sur l'utilisation mémoire du cache utilisateur
- wincache_ucache_info() - Récupère des informations sur des données stokées dans le cache utilisateur
- wincache_scache_info() - Récupère des informations sur des fichiers mis en cache