reids的事务

        $res = Redis::flushAll();
        //监测键set1,如果在执行事务的时候有对set1键操作,而同时另外的线程也有对set1操作,那么事物物就会死掉
        $res = Redis::watch('set1');
        //开启事务
        $res = Redis::multi();
        $res = Redis::set('set', 'one');       
        if(!$res){
            //执行失败,取消事务
            Redis::discard();
        }
        //设置键的有效时长
        $res = Redis::expire('set', 60);
        if(!$res){
            Redis::discard();
        }
        $res = Redis::set('set1', 'two');
        if(!res){
            Redis::discard();
        }else{
            $res = Redis::set('set2', 'three');
            //执行事务的内容,并返回所有的执行结果,为数组
            $res = Redis::exec();

        }
        
        echo "<pre>";
        print_r($res);echo "<br>";
        //            Array
//            (
//                [0] => 1
//                [1] => 1
//                [2] => 1
//                [3] => 1
//            )

  

posted on 2018-04-08 14:42  泪滴  阅读(104)  评论(0编辑  收藏  举报