PHP使用Redis的事务命令「建议收藏」

PHP使用Redis的事务命令「建议收藏」1.redis事务命令: 命令作用返回值 watch 监视一个或多个key 总是OK multi 声明事务开始,后续命令将排队按顺序等待exec执行 总是OK exec 顺序执行multi之后的命令,

PHP使用Redis的事务命令

1.redis事务命令:

命令 作用 返回值
watch 监视一个或多个key 总是OK
multi 声明事务开始,后续命令将排队按顺序等待exec执行 总是OK
exec 顺序执行multi之后的命令,如果multi之前使用watch命令监视的键的值发生变化,执行将失败 执行成功时返回数组包含每个命令执行结果,失败时原生命令返回null,php-redis扩展方法返回false
discard 取消事务 总是OK
unwatch 取消watch监视,如果watch监视之后执行了exec或discard,会自动取消监视,不必再unwatch 总是OK

2.redis事务示例:
<?php
try {
//连接本地的 Redis 服务
$redis = new Redis();
$redis->connect("127.0.0.1", 6379);
} catch (Exception $e){
echo $e->getMessage();
die;
}

$key1 = "x1";
$key2 = "x2";

$redis->set($key1, "123");
$redis->set($key2, "234");

try {
//监视一个(或多个)key,如果在事务执行之前这个(或这些) key 被其他命令所改动,那么事务将被打断
$redis->watch(array($key1, $key2));

//模拟监视 key 被打断
//$redis->set($key1, "12345");

$redis->multi();
$redis->set($key1, "1123");
$redis->set($key2, "2123");
//执行事务块内的所有命令
$status = $redis->exec();
//失败则取消事务
if (!$status) {
$redis->discard();
}
} catch (Exception $e){
echo $e->getMessage();
die;
}

var_dump($status);

echo "<br>";

echo $redis->get($key1) . "-" .$redis->get($key2);

代码100分

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
转载请注明出处: https://daima100.com/8701.html

(0)
上一篇 2023-02-23
下一篇 2023-02-23

相关推荐

  • Python字典:高效管理和存储数据的解决方案

    Python字典:高效管理和存储数据的解决方案Python字典是一种键-值对数据结构,常用于存储和管理数据。字典是Python语言中唯一的映射类型,提供了快速查找和修改数据的能力,同时具备可变性和无序性。在Python语言中,字典被广泛应用于数据处理、网络编程、Web开发等领域。

    2024-01-25
    100
  • 使用conda安装numpy

    使用conda安装numpy NumPy是Python中重要的科学计算库之一。其提供了高效的数组操作和科学计算函数。在Python中使用NumPy可以方便地进行各种数学计算和数据处理,并且可以很好地集成到Python生态环境中。

    2024-04-23
    73
  • 掌握Python Range范围,轻松编程

    掌握Python Range范围,轻松编程Python语言是一种高级编程语言,它诞生于上世纪90年代初期,当时由荷兰人Guido van Rossum编写,它的独特之处在于语言简洁易懂,适合初学者入门,并且终身学习都不会过时。Python有许多内置函数,其中Range()函数是很有用的一个,它可以让我们方便、简洁地实现循环输出指定长度范围的数字序列。在本文中,我们将深入探讨Range()函数的相关内容,帮助读者轻松掌握这个实用的函数,并且让读者感受到Python语言的优美之处。

    2024-04-17
    74
  • mysql模糊查询语句_mysql模糊查询包含值的表

    mysql模糊查询语句_mysql模糊查询包含值的表原文:https://blog.csdn.net/weixin_42114097/article/details/88229140 select * from user where username…

    2023-04-01
    150
  • Explain详解与索引优化实践

    Explain详解与索引优化实践为什么要用explain 使用EXPLAIN关键字可以模拟优化器执行SQL语句,从而知道MySQL是如何处理你的SQL语句的。分析你的查询语句或是结构的性能瓶颈 如何使用explain 下面是使用 …

    2022-12-16
    129
  • Python有中文版吗

    Python有中文版吗Python是一种高级编程语言,由荷兰人Guido van Rossum于1989年圣诞节期间创建。Python的设计哲学是“优雅”、“明确”、“简单”。它具有易读性强、代码简洁、可读性和可维护性好等优点,受到了很多开发者的欢迎。

    2024-08-30
    23
  • 创建漂亮的用户界面 – 了解Python的Tkinter GUI框架

    创建漂亮的用户界面 – 了解Python的Tkinter GUI框架Tkinter是Python标准库中的一个GUI(图形用户界面)工具包。它为Python程序提供了一个本地的、跨平台的GUI环境。Tkinter简单易用,是学习Python GUI编程的一个不错的入门框架。在这篇文章中,我们将深入探讨Tkinter库,并提供一些例子和技巧,以帮助您更好地理解GUI编程的概念和工作原理。

    2024-01-04
    107
  • Docker下安装Elasticsearch、ik分词器、kibana

    Docker下安装Elasticsearch、ik分词器、kibana1:使用docker拉取Elasticsearch镜像 docker pull elasticsearch:7.12.0(不加版本号默认是最新版本) 2:查看是否成功下载镜像 docker image

    2023-04-14
    142

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注