当前位置: 移动技术网 > IT编程>数据库>MongoDB > PHP使用Redis的事务命令

PHP使用Redis的事务命令

2020年04月30日  | 移动技术网IT编程  | 我要评论

江歌父亲,济宁教师郑媛媛,口才培训视频

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);

如对本文有疑问,请在下面进行留言讨论,广大热心网友会与你互动!! 点击进行留言回复

相关文章:

验证码:
移动技术网