5个顶级异步Python框架
Crossin的编程教室
共 3108字,需浏览 7分钟
·
2022-02-12 22:19
https://geekflare.com/python-asynchronous-web-frameworks/
async
和await
,此后,异步框架迅速发展了起来,性能上能和Node.js比肩,除非是CPU密集型任务,否则没有理由不使用异步框架。如果你是Web开发者,现在异步Web框架上有了更多选择!
1、Tornado
协同程序和其他原语(tornado.gen,tornado.locks,tornado.queues等) 网络模块(tornado.ioloop,tornado.iostream) 异步服务器和客户端(tornado.httpserver,httpclient,等)
通过这些模块,Tornado 构建了自己的异步Web框架模块。
import tornado.ioloop
import tornado.web
class MainHandler(tornado.web.RequestHandler):
def get(self):
self.write("Hello, world")
def make_app():
return tornado.web.Application([
(r"/", MainHandler),
])
if __name__ == "__main__":
app = make_app()
app.listen(8888)
tornado.ioloop.IOLoop.current().start()
2、 Snaic
async
关键字之外,语法上和 flask 基于没差别。from sanic import Sanic
from sanic.response import json
app = Sanic()
@app.route("/")
async def test(request):
return json({"hello": "world"})
if __name__ == "__main__":
app.run(host="0.0.0.0", port=8000)
3、Vibora
Vibora声称比其它框架快几倍,比竞争对手Sanic还快两倍多。当然,这个基准测试要持怀疑态度。
from vibora import Vibora, JsonResponse
app = Vibora()
@app.route('/')
async def home():
return JsonResponse({'hello': 'world'})
if __name__ == '__main__':
app.run(host="0.0.0.0", port=8000)
4、Quart
from quart import Quart
app = Quart(__name__)
@app.route('/')
async def hello():
return 'hello'
app.run()
5、FastAPI
rom fastapi import FastAPI
app = FastAPI()
@app.get("/users/me")
async def read_user_me():
return {"user_id": "the current user"}
@app.get("/users/{user_id}")
async def read_user(user_id: str):
return {"user_id": user_id}
总结
作者:刘志军
_往期文章推荐_
评论
GINO轻量级 Python 异步 ORM 框架
GINO全称为GINOIsNotORM,是一个轻量级Python异步ORM框架,基于 SQLAlchemy core打造。GINO1.0仅支持PostgreSQL(asyncpg)。特性高度融合、超级
GINO轻量级 Python 异步 ORM 框架
0
phpdaemonPHP 异步框架
phpdaemon是 PHP异步框架,使用libevent 实现,它拥有很多特性。为应对高负载而设计。每一个worker可以处理上千个并发连接。主要特性:强大的服务器:HTTP,FastCGI,Fla
phpdaemonPHP 异步框架
0