zoukankan      html  css  js  c++  java
  • 利用swoole coroutine协程实现redis异步操作

    <?php
    #注意:如果不开启兼容模式,会遇到这样的现象,用swoole协程的方法访问常规方法添加到redis中的数据,可能访问不到
    (直接返回NULL)!
    这可能是两者采用了
    不同的技术标准所致!

    go(function (){
        $redis = new SwooleCoroutineRedis();
        $redis->connect('127.0.0.1', 6379);
        $val = $redis->set('陈培昌',json_encode(['age'=>21,'expertin'=>['泰拳','巴西柔术']]));#同样是hmset,常规方法第2个参数是混合类型
    var_dump($val); }); go(function (){ $redis = new SwooleCoroutineRedis(); 
    $redis
    ->connect('127.0.0.1', 6379);
    $val
    = $redis->get('陈培昌');
    var_dump(json_decode($val)); });

    打印结果:

    object(stdClass)#8 (2) {
    ["age"]=>
    int(21)
    ["expertin"]=>
    array(2) {
    [0]=>
    string(6) "泰拳"
    [1]=>
    string(12) "巴西柔术"
    }
    }
    bool(true)

     

    #常规方法

    /*把货单项目名称键名加载到redis*/
    
    $li = new mysqli('localhost','root','wenwajiao','taizhouwu');
    $sql = "select title,colname from columninfo";
    $stmt=$li->query($sql);
    $liaogaximaxida = $stmt->fetch_all();
    $redis = new Redis();
    $redis->connect('127.0.0.1',6379);
    for ($i=0;$i<count($liaogaximaxida);$i++)
    {
        $saiwa = $liaogaximaxida[$i];
        $redis->hMSet($saiwa[0],['mykey'=>$saiwa[1]]);#同样是hmset,常规方法第2个参数是数组类型
    }
    ;

     #开启兼容模式-----swoole4.4版本可用!

    哟比~其实文档早就有了,我没仔细看,这个浮躁,功利的时代,唉~,再次感谢韩天峰先生
    go(function (){ $myredis
    = new SwooleCoroutineRedis(); $myredis->connect('127.0.0.1',6379); $myredis->setOptions(['compatibility_mode' => true]);#重要,开启后,支持协程中使用php redis操作
       #所谓php redis操作就是我们耳熟能详的hmGet/hGetAll/zRange/zRevRange/zRangeByScore/zRevRangeByScore各类方法     $myredis
    ->hmset('testkey3',['name'=>'劲儿弟弟','age'=>20]); var_dump($myredis->hgetall('testkey3')); });
  • 相关阅读:
    mentohust 使用
    查找 GPU 计算能力
    在写代码过程中遇到的问题,以及当时的解决方法(如实记录)
    ubuntu14.04 解决屏幕亮度无法调节的问题
    Ubuntu14.04下安装 boost (boost_1.54 最简单的方法)
    在 Ubuntu下安装 labelImg (标数据用)
    在树莓派上配置MariaDB
    使用Telegraf + Influxdb + Grafana 监控SQLserver服务器的运行状况
    如何读懂SQL Server的事务日志
    ActiveMQ安装使用与spring整合配置教程
  • 原文地址:https://www.cnblogs.com/saintdingspage/p/11149023.html
Copyright © 2011-2022 走看看