随笔分类 -  Python asyncio高性能异步编程

摘要:爬虫 pip3 install aiohttp import aiohttp import asyncio async def fetch(session, url): print("发送请求:", url) async with session.get(url, verify_ssl=False) 阅读全文
posted @ 2024-08-27 21:15 tmars 阅读(12) 评论(0) 推荐(0) 编辑
摘要:FastAPI框架 安装 pip3 install fastapi pip3 install uvicorn (asgi内部基于uvloop) 示例: luffy.py #!/usr/bin/env python # -*- coding:utf-8 -*- import asyncio impor 阅读全文
posted @ 2024-08-27 21:14 tmars 阅读(51) 评论(0) 推荐(0) 编辑
摘要:异步MySQL pip3 install aiomysql 示例1: import asyncio import aiomysql async def execute(): # 网络IO操作:连接MySQL conn = await aiomysql.connect(host='127.0.0.1' 阅读全文
posted @ 2024-08-27 21:13 tmars 阅读(31) 评论(0) 推荐(0) 编辑
摘要:异步redis 在使用python代码操作redis时,链接/操作/断开都是网络IO。 pip3 install aioredis 示例1: #!/usr/bin/env python # -*- coding:utf-8 -*- import asyncio import aioredis asy 阅读全文
posted @ 2024-08-27 21:11 tmars 阅读(33) 评论(0) 推荐(0) 编辑
摘要:4.uvloop 是asyncio的事件循环的替代方案。事件循环 > 默认asyncio的事件循环。 pip3 install uvloop import asyncio import uvloop asyncio.set_event_loop_policy(uvloop.EventLoopPoli 阅读全文
posted @ 2024-08-27 21:09 tmars 阅读(69) 评论(0) 推荐(0) 编辑
摘要:3.1 事件循环 理解成为一个死循环 ,去检测并执行某些代码。 # 伪代码 任务列表 = [ 任务1, 任务2, 任务3,... ] while True: 可执行的任务列表,已完成的任务列表 = 去任务列表中检查所有的任务,将'可执行'和'已完成'的任务返回 for 就绪任务 in 可执行的任务列 阅读全文
posted @ 2024-08-27 21:08 tmars 阅读(22) 评论(0) 推荐(0) 编辑
摘要:2.协程意义 在一个线程中如果遇到IO等待时间,线程不会傻傻等,利用空闲的时候再去干点其他事。 案例:去下载三张图片(网络IO)。 普通方式(同步) """ pip3 install requests """ import requests def download_image(url): prin 阅读全文
posted @ 2024-08-27 21:07 tmars 阅读(17) 评论(0) 推荐(0) 编辑
摘要:协程 & asyncio & 异步编程的 > 背景 为什么要学? 越来越多的学生都来问async异步相关问题,并且这一部分的知识点不太容易学习(异步非阻塞、asyncio) 异步相关话题和框架越来越多,例如:tornado、fastapi、django 3.x asgi 、aiohttp都在异步 - 阅读全文
posted @ 2024-08-27 21:06 tmars 阅读(22) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示