PHP-Redis事务

先了解如下

discard

命令用于取消事务,放弃执行事务块内的所有命令。

exec

用于执行所有事务块内的命令。

multi

用于标记一个事务块的开始。事务块内的多条命令会按照先后顺序被放进一个队列当中,最后由 EXEC 命令原子性(atomic)地执行。

unwatch

用于取消 WATCH 命令对所有 key 的监视。

watch

用于监视一个(或多个) key ,如果在事务执行之前这个(或这些) key 被其他命令所改动,那么事务将被打断

代码如下:

$redis = new \Redis();

$redis->connect("127.0.0.1",6379,5);

$redis->auth("sw6s2re2d2is");

$redis->watch("num");

//$redis->incr("num");

$res=$redis->multi()->incrBy("num",5)->setex("name",3600,'test')->get('name')->exec();

var_dump($res);

结果分析:

这行代码 $redis->incr("num") 是为了模拟在使用watch命令监听一个key之后修改了他的值,结果打印

bool(false)

如果注释这行代码打印

array(3) { [0]=> int(18) [1]=> bool(true) [2]=> string(6) "test" }

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 本文将从Redis的基本特性入手,通过讲述Redis的数据结构和主要命令对Redis的基本能力进行直观介绍。之后概...
    kelgon阅读 61,271评论 23 625
  • PHP-redis中文文档 phpredis是php的一个扩展,效率是相当高有链表排序功能,对创建内存级的模块业务...
    神秘者007阅读 2,776评论 0 2
  • phpredis是php的一个扩展,效率是相当高有链表排序功能,对创建内存级的模块业务关系 很有用;以下是redi...
    神秘者007阅读 1,276评论 0 1
  • phpredis是PHP的一个扩展,效率是相当高有链表排序功能,对创建内存级的模块业务关系很有用;以下是redis...
    史史小子阅读 340评论 0 2
  • 我 我是一个老师,长得也越来越老, 我曾经年轻,年轻时也很漂亮, 当老师已经快三十年, 我有好多学生,我爱他们! ...
    雪盈禅心阅读 698评论 5 5