首页 > 其他 > 详细

redis事物的使用

时间:2014-12-31 01:07:58      阅读:347      评论:0      收藏:0      [点我收藏+]

redis的几个事物命令:

WATCH 监视一个(或多个) key ,如果在事务执行之前这个(或这些) key 被其他命令所改动,那么事务将被打断;
UNWATCH 取消 WATCH 命令对所有 key 的监视;
MULTI 标记一个事务块的开始,指事务块内的多条命令会按照先后顺序被放进一个队列当中,最后由EXEC命令原子性(atomic)地执行;
DISCARD 取消事务,放弃执行事务块内的所有命令;
EXEC 执行所有事务块内的命令;

phpredis的实现方式:

事务的调用有两种模式Redis::MULTI和Redis::PIPELINE,默认是Redis::MULTI模式,Redis::PIPELINE管道模式速度更快,但没有任何保证原子性有可能造成数据的丢失。

代码示例:

<?php
$redis = new Redis();
$redis->connect(‘127.0.0.1‘, 6379);
$startTime = microtimeFloat();

$pipe = $redis->multi(Redis::PIPELINE);
for($i = 0; $i < 100000; $i++){
    $pipe->set("key::$i", time());
    $pipe->get("key::$i");
}
$pipe->exec();

//$redis->flushDB();
$endTime = microtimeFloat();
$runTime = $endTime - $startTime;
echo "用时 $runTime 秒";

function microtimeFloat(){
    list($usec, $sec) = explode(" ", microtime());
    return ((float)$usec + (float)$sec);
}
?>


redis事物的使用

原文:http://my.oschina.net/u/1414906/blog/362515

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!