redis加锁的常用方式有哪几种


本文摘自PHP中文网,作者V,侵删。

常用的加锁方式有:

(学习视频分享:redis视频教程)

一、incr加锁

1

2

3

4

5

6

7

8

9

<?php

$redis  new Redis();

$redis->connect('127.0.0.1');

$redis->multi();

$redis->incr('number');

//$redis->decr('number');

//$redis->expire('number', -1);

var_dump($redis->get('number'));

var_dump($redis->ttl('number'));

二、setnx加锁

1

2

3

4

<?php

$redis->setnx('name', 'felix');

var_dump($redis->get('name'));

var_dump($redis->ttl('name'));

三、set加锁

1

2

3

4

5

<?php

$redis->set('like', 'chuangxi', ['nx', 'ex' => 10]);

//$redis->del('like');

var_dump($redis->get('like'));

var_dump($redis->ttl('like'));

四、防止死锁

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

<?php

$isLock = false;

do {

    $isLock = $redis->set('like', 'a', ['nx', 'ex' => 10]);

    if($isLock) {

        if($redis->get('like') == 'a') {

            //执行逻辑

            $redis->del('like');

            continue;

        }

    } else {

        usleep(5000);

    }

} while (!$isLock);

  

//redis事务

$redis->set();

$redis->watch(['number', 'like']);

相关推荐:redis教程

以上就是redis加锁的常用方式有哪几种的详细内容,更多文章请关注木庄网络博客

相关阅读 >>

Redis之django-Redis使用

Redis一般缓存哪些数据

你知道Redis的8大应用场景是什么吗!

Redis可视化工具哪个好

Redis三种部署方案图文详解

Redis存储方式有哪些

Redisdesktopmanager怎么安装

如何理解mysql锁机制

Redis集合的相关命令有哪些

windows下打开Redis后闪退怎么办

更多相关阅读请进入《Redis》频道 >>


数据库系统概念 第6版
书籍

数据库系统概念 第6版

机械工业出版社

本书主要讲述了数据模型、基于对象的数据库和XML、数据存储和查询、事务管理、体系结构等方面的内容。



打赏

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码打赏,您说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

分享从这里开始,精彩与您同在

评论

管理员已关闭评论功能...