zoukankan      html  css  js  c++  java
  • Swoole 异步mysql使用

    <?php
    class mysql {
        private $param;
        public $db;
        public function __construct() {
            $this->db = new swoole_mysql;
            $this->param = array(
                'host' => '127.0.0.1',
                'user' => 'root',
                'password' => '123',
                'database' => 'test',
            );
        }
    
        public function exec($sql) {
            $this->db->connect($this->param, function ($db, $result) use ($sql) {
                if ($result === false) {
                    echo "连接数据库失败 : 错误代码:" . $db->connect_errno . PHP_EOL . $db->connect_error;
                    return false;
                }
                $db->query($sql, function ($db, $res) {
                    if ($res === false) {
                        // error属性获得错误信息,errno属性获得错误码 
                        echo "sql语句执行错误 : " . $db->error;
                    } else if ($res === true) {
                        // 非查询语句  affected_rows属性获得影响的行数,insert_id属性获得Insert操作的自增ID 
                        echo "sql语句执行成功,影响行数 : " . $db->affected_rows;
                        
                    } else {
                        //查询语句  $result为结果数组 
                        var_dump($res);
                        
                    }
                    $db->close();
                });
            });
        }
    }
    
    $mysql = new mysql();

    使用异步mysql好处 : 

    • 防止代码阻塞,提高代码效率

    适用场合:

    • 不涉及共享资源,或对共享资源只读,即非互斥操作
    • 没有时序上的严格关系
    • 不需要原子操作,或可以通过其他方式控制原子性
    • 常用于IO操作等耗时操作,因为比较影响客户体验和使用性能
    • 不影响主线程逻辑
  • 相关阅读:
    向 DataGridView 的行集合中添加行
    添加form窗口最大化最小化事件
    转义字符表
    键盘输入变简单了
    数字9X9的表格
    统计你输入的任意字符
    一个九九表
    用冒泡法排序
    学生会
    任意排序几个数
  • 原文地址:https://www.cnblogs.com/xiaoliwang/p/9276246.html
Copyright © 2011-2022 走看看