2.aiomysql实现对数据库异步读取
2024-10-19 06:24:49
有一个库叫做aiomysql,这是一个基于asyncio和pymysql的库。至于为什么可以在tornado中使用,是因为高版本tornado的底层使用了asyncio。
import asyncio import aiomysql async def test(loop): # 这里的loop就是我们通过asyncio.get_event_loop()创建的,但是其实可以不传,因为会自动创建一个 async with aiomysql.create_pool(host="localhost", port=3306, user="root", password="zgghyys123", db="satori", loop=loop) as pool: async with pool.acquire() as conn: async with conn.cursor() as cursor: await cursor.execute("select * from girl") data1 = await cursor.fetchone() data2 = await cursor.fetchall() print(data1) print(data2) pool.close() await pool.wait_closed() if __name__ == '__main__': loop = asyncio.get_event_loop() loop.run_until_complete(test(loop))
(0, '古明地觉', 16, 'f') ((1, '椎名真白', 17, 'f'), (2, '古河渚', 20, 'f'))
我们看看可不可以使用tornado去启动aiomysql
import tornado.ioloop import aiomysql async def test(): # 这里的loop就是我们通过asyncio.get_event_loop()创建的,但是其实可以不传,因为会自动创建一个 async with aiomysql.create_pool(host="localhost", port=3306, user="root", password="zgghyys123", db="satori") as pool: async with pool.acquire() as conn: async with conn.cursor() as cursor: await cursor.execute("select * from girl") data1 = await cursor.fetchone() data2 = await cursor.fetchall() print(data1) print(data2) pool.close() await pool.wait_closed() if __name__ == '__main__': tornado.ioloop.IOLoop.current().run_sync(test)
一样是可以的,因为tornado的底层事件循环使用的便是asyncio
aiomysql还可以和SQLAlchemy结合
pass
最新文章
- 前端框架 EasyUI (2)页面布局 Layout
- 软件工程(C编码实践篇)学习心得
- 创建ASP.NET Core MVC应用程序(5)-添加查询功能 &; 新字段
- ORACLE等待事件:enq: TX - row lock contention
- ios蓝牙开发(三)ios连接外设的代码实现:手机app去读写蓝牙设备。
- XHTML表单
- Intellij编译时报“java: System Java Compiler was not found in classpath” 解决办法
- python中使用list作为默认参数且调用时不给其赋值的问题
- Linux更改默认jdk
- GNU glibc
- UML中的交互图<;转>;
- Java 堆内存(Heap)[转]
- Ubuntu上使用Web QQ
- 中国孩子的micro:bit:TurnipBit自制小乐器教程实例
- jmeter 中如何一次运行多条sql语句
- NGUI实现的一套不同大小 Item 的循环滚动代码
- Java泛型的PECS原则
- The class cn.itcast.web.common.util.UtilFuns specified in TLD for the function selffn:htmlNewline cannot be found: cn.itcast.web.common.util.UtilFuns
- mysql的sql性能分析器
- servlet awt随机图片验证码