码迷,mamicode.com
首页 > 其他好文 > 详细

redis事物的使用

时间:2014-12-31 01:10:44      阅读:169      评论: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
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!