Maison > base de données > Redis > le corps du texte

Quelles sont les méthodes courantes de verrouillage de Redis ?

王林
Libérer: 2020-12-30 17:10:52
avant
2960 Les gens l'ont consulté

Quelles sont les méthodes courantes de verrouillage de Redis ?

Les méthodes de verrouillage couramment utilisées sont :

(Partage vidéo d'apprentissage : tutoriel vidéo Redis)

1.

<?php
$redis  =  new Redis();
$redis->connect(&#39;127.0.0.1&#39;);
$redis->multi();
$redis->incr(&#39;number&#39;);
//$redis->decr(&#39;number&#39;);
//$redis->expire(&#39;number&#39;, -1);
var_dump($redis->get(&#39;number&#39;));
var_dump($redis->ttl(&#39;number&#39;));
Copier après la connexion

2. Setnx lock

<?php
$redis->setnx(&#39;name&#39;, &#39;felix&#39;);
var_dump($redis->get(&#39;name&#39;));
var_dump($redis->ttl(&#39;name&#39;));
Copier après la connexion

3. Définir le verrouillage

<?php
$redis->set(&#39;like&#39;, &#39;chuangxi&#39;, [&#39;nx&#39;, &#39;ex&#39; => 10]);
//$redis->del(&#39;like&#39;);
var_dump($redis->get(&#39;like&#39;));
var_dump($redis->ttl(&#39;like&#39;));
Copier après la connexion

4. Prévenir les blocages

<?php
$isLock = false;
do {
    $isLock = $redis->set(&#39;like&#39;, &#39;a&#39;, [&#39;nx&#39;, &#39;ex&#39; => 10]);
    if($isLock) {
        if($redis->get(&#39;like&#39;) == &#39;a&#39;) {
            //执行逻辑
            $redis->del(&#39;like&#39;);
            continue;
        }
    } else {
        usleep(5000);
    }
} while (!$isLock);
 
//redis事务
$redis->set();
$redis->watch([&#39;number&#39;, &#39;like&#39;]);
Copier après la connexion

Recommandations associées : tutoriel redis

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Étiquettes associées:
source:csdn.net
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal