首页
学习
活动
专区
圈层
工具
发布

PHP异步非阻塞MySQL客户端连接池

amphp/mysql是一个异步MySQL客户端。该库通过在可用连接的可伸缩池中透明地分发查询来实现并发查询。...客户端透明地将这些查询分布在一个可扩展的可用连接池中,并使用100%的用户态PHP,没有外部扩展依赖性(例如ext/mysqli,ext/pdo等)。...特征 公开一个非阻塞API,用于并发发出多个MySQL查询 透明的连接池克服了MySQL的基本同步连接协议 MySQL传输编码支持(gzip,TLS加密) 支持参数化预处理语句 带有提交和回滚事件钩子的嵌套事务...无缓冲结果以减少大型结果集的内存使用 完整的MySQL协议支持,包括所有可用的异步命令 安装 此包可以作为Composer依赖项安装 composer require amphp/mysql 使用...=1); require 'vendor/autoload.php'; use Amp\Mysql\MysqlConfig; use Amp\Mysql\MysqlConnectionPool;

91310
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    关于 MySQL异步复制

    Replication,复制是高可用的基础,MHA、mycat等中间件的底层都依赖复制原理 master 主实例 slave 从实例 分类:默认的异步复制,5.5版本后的半同步复制,5.6版本新增的GTID...基于组提交的并行复制和增强半同步复制 复制方法:1.传统方法:基于binlog日志复制 2.GTID:基于事物复制 binlog可以有不同的格式:基于语句、基于行数据、混合(行数据复制是默认) 下面搭建下常规的异步复制.../data/mysql-bin | | log_bin_index | /usr/local/mysql/data/mysql-bin.index | |...> ^DBye [root@localhost ~]$ cat /etc/my.cnf [mysqld] datadir=/usr/local/mysql/data log_bin=mysql-bin...', -> master_log_pos=556; Query OK, 0 rows affected, 2 warnings (0.01 sec) mysql> 开启同步 mysql> start

    96410

    aiomysql异步操作mysql

    一、概述 aiomysql是一个从asyncio(PEP-3156/tulip)框架访问MySQL数据库的库。它依赖并重用PyMySQL的大部分部分。.../usr/bin/env python3 # coding: utf-8 """ mysql 异步版本 """ import traceback import logging import aiomysql...import asyncio import time logobj = logging.getLogger('mysql') class Pmysql:     def __init__(self...traceback.format_exc())         finally:             if cur:                 await cur.close()             # 释放掉conn,将连接放回到连接池中...traceback.format_exc())         finally:             if cur:                 await cur.close()             # 释放掉conn,将连接放回到连接池中

    7.1K21

    Continuation - 连接异步任务和同步代码

    John McCall, Joe Groff, Doug Gregor, Konrad Malawski 审核主管:Ben Cohen 状态:在 Swift 5.5 已实现 历史修订版本:1, 2 介绍 异步...在 continuations 上,异步任务可以挂起自身,同步代码能够捕获并调用 continuations 来恢复任务,响应事件。...这可能是因为代码本身是在引入 async/await 之前编写的,也可能因为它与一些主要由事件驱动组成的系统相关联,在这种情况下,可能需要在内部使用 callback 的同时向程序提供异步接口。...调用异步任务需要能够挂起其本身,同时为事件驱动同步系统提供一种机制来恢复它以响应事件。 提议的解决方案 Swift 库将会提供 API 用来为当前异步任务获取 continuation。...Checked continuations Unsafe*Continuation为连接同步和异步代码提供了一种轻量机制,但它容易误用,误用会以危险的方法破坏处理状态。

    3.3K10

    【MySQL】MySQL 的 SSL 连接以及连接信息查看

    MySQL 的 SSL 连接以及连接信息查看 在上篇文章中,我们学习过 MySQL 的两种连接方式,回忆一下,使用 -h 会走 TCP 连接,不使用 -h 可以使用另两种方式来走 UnixSocket...我们就接着这个话题再聊点别的,首先要纠正一下之前讲的,-h 不一定全是走 TCP 连接。然后我们顺着这个话题,再看一下 MySQL 中如何指定使用安全连接的问题。...再谈连接方式 上回我们已经讲过有两种连接方式,在讲问题之前,我们先了解一个 MySQL 命令工具,它就是 \s 命令(全称是 status ,你也可以使用 \status 或者 status; 来查看)...我们可以认为,在 MySQL 的内部,对这个特殊的名称做了特别的判断,如果连接的是 localhost ,就认为这个连接客户端和 MySQL 服务器是在同一台主机的,这时就会直接以 UnixSocket...你可以自己再尝试下使用默认的开启 SSL 连接的方式去连接远程 MySQL 服务器,看看还能不能抓到我们执行的 SQL 语句。

    4K10

    MySQL 表连接(内连接与外连接)

    1、表连接的核心概念 1.1 为什么需要表连接?...问题:两个表的数据需要关联查询(如学生表和成绩表) 笛卡尔积:未指定条件时,两个表的所有记录两两组合(效率低下,结果混乱) 解决方案:通过连接条件筛选有效组合 2、内连接(INNER JOIN) 2.1...核心概念 定义:仅返回两表中满足连接条件的记录 内连接实际上就是利用where子句对两种表形成的笛卡儿积进行筛选,我们前面学习的查询都是内连接,也是在开发过程中使用的最多的连接查询。...=dept.deptno; 3、外连接(OUTER JOIN) 外连接分为左外连接和右外连接 3.1 左外连接(LEFT JOIN) 核心概念 保留规则:左表(第一个表)的所有记录,右表无匹配时用NULL...WHERE:用于过滤已连接后的结果,会过滤掉外连接中的NULL值。 where条件是在临时表生成好后,再对临时表进行过滤的条件。

    3.2K10
    领券