iis服务器助手广告广告
返回顶部
首页 > 资讯 > 精选 >基于fastapi框架的异步怎么使用
  • 311
分享到

基于fastapi框架的异步怎么使用

2023-07-05 12:07:48 311人浏览 独家记忆
摘要

本篇内容主要讲解“基于fastapi框架的异步怎么使用”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“基于fastapi框架的异步怎么使用”吧!使用fastapi框架开发WEB项目1、为什么要用f

本篇内容主要讲解“基于fastapi框架的异步怎么使用”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“基于fastapi框架的异步怎么使用”吧!

    使用fastapi框架开发WEB项目

    1、为什么要用fastapi?

    一直以来博主都是一直使用Django进行开发的,最近公司开始使用fastapi进行小项目的开发

    通过博主对fastapi文档的翻阅,发现fastapi最引人注意的就是他的异步支持。(当然最新版的djanGo也已经支持异步请求)

    2、什么是异步?

    异步相对应的就是同步

    同步就是多件事排队做

    而异步就是多件事同时做

    3、在django中是怎么实现异步的呢?

    django采取的是多线程实现异步。

    当一个线程在做耗时操作的时候进行线程间切换,给人一种多个线程在同时运行的感觉。(当然了,多核cpu确实是真正的多线程。)。

    切换的同时不仅要重新获取GIL,还要重新加载和记住上下文,这些开销对服务的性能是有一定影响的

    4、fastapi中的异步

    4.1 简单介绍一下协程的概念

    相信大家都听说过协程这个概念,

    协程是在一个线程间进行用户级资源切换的概念

    是不是很抽象?

    我来解释一下:

    • 首先我们要了解线程属于进程,而协程属于线程

    • 写过爬虫的同学应该了解过yield关键字,他就可以简单的作为一个协程来用

    • 他可以构造一个生成器,可能有些同学会把生成器和一个普通的可迭代对象混为一谈(例如列表)

    但是这又跟协程有什么关系呢?

    是这样的,当用户要取一个元素的时候,这个生成器相当于被激活了,相当于开始占用线程资源,生成一个元素,返回之后就让出线程资源,直到用户取下一个元素。

    这就是协程的思想:它没有线程间切换时资源的消耗大,并且完全由用户控制

    4.2 fastapi中的协程

    fastapi由较为完善的异步处理方案(没有非常完善)

    他的基本语法与flask较为相似(虽然博主只写过一点flask)

    值得一提的是asgi异步网关协议,这个网关协议有完善的异步请求与websocket的支持。

    他对async/await有很好的支持

    对应的web服务器是Uvicorn

    我们可以使用sqlalchemy进行异步数据库查询

    其实一个web项目的性能瓶颈大部分还是在io方面(数据库查询,web请求,系统io)

    例如有些数据库查询确实耗时,我们又不想让他阻塞当前线程,我们就可以使用异步数据库查询

    fastapi会在你注明异步数据库查询的地方让出cpu资源,让他去处理别的东西(比如另一个请求)

    然后当你的数据库查询结束返回之后,再次回到当初让出资源的地方,继续往下执行。

    5、协程相较于线程的优势

    协程可以记住上下文,从而避免在线程间切换中针对上下文切换的资源消耗和关于GIL锁的资源消耗

    6、协程的使用场景

    我们可以把计算机的动作大致分成两种,一种是计算型,一种是io型,当一个任务是计算型的时候,就意味着cpu要一直运行,这个时候我们是没法让出cpu资源的,而当一个任务是io型的,就相当于cpu一直在休息,在等待,这个时候我们就可以让出cpu的占用,让他去处理别的任务

    所以协程异步并不是所有场景都适用,他主要用于io场景。

    到此,相信大家对“基于fastapi框架的异步怎么使用”有了更深的了解,不妨来实际操作一番吧!这里是编程网网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!

    --结束END--

    本文标题: 基于fastapi框架的异步怎么使用

    本文链接: https://www.lsjlt.com/news/351645.html(转载时请注明来源链接)

    有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

    本篇文章演示代码以及资料文档资料下载

    下载Word文档到电脑,方便收藏和打印~

    下载Word文档
    猜你喜欢
    • 基于fastapi框架的异步怎么使用
      本篇内容主要讲解“基于fastapi框架的异步怎么使用”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“基于fastapi框架的异步怎么使用”吧!使用fastapi框架开发web项目1、为什么要用f...
      99+
      2023-07-05
    • 基于fastapi框架的异步解读
      目录使用fastapi框架开发web项目1、为什么要用fastapi?2、什么是异步?3、在django中是怎么实现异步的呢?4、fastapi中的异步4.1 简单介绍一下协程的概念...
      99+
      2023-03-15
      fastapi框架 fastapi框架的异步 fastapi异步
    • 基于Java的同步异步统一处理框架
      DActor框架可同时支持同步和异步代码,简化在线异步代码的开发,用同步代码的思维来开发异步代码,兼顾异步代码的高并发、无阻塞和同步代码的易读性,可维护性。基于协程思想设计最大程度的降低阻塞,提高单个线程的处理能力,并可有效的降低线程数。G...
      99+
      2023-06-02
    • Python - 【FastAPI】框架配置搭建基本使用
      一. 前言 之前在面试的时候面试官有提到过这个框架,但是个人在之前的项目中没有用到过,只是有听过,并没有实际的应用,因此,个人自己研究了一下,这是个新型的框架,使用起来相对挺简单。FastAPI是一个...
      99+
      2023-09-11
      python fastapi 数据库
    • JavaScript中怎么异步调用框架
      本篇文章为大家展示了JavaScript中怎么异步调用框架,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。调用入口链式调用存在Async.go方法和Async.cha...
      99+
      2024-04-02
    • 使用异步的twisted框架写入数据
      1.twisted框架介绍Twisted是用Python实现的基于事件驱动的网络引擎框架;Twisted支持许多常见的传输及应用层协议,包括TCP、UDP、SSL/TLS、HTTP、IMAP、SSH、IRC以及FTP。就像Python一样,...
      99+
      2023-06-02
    • 基于Python的shell自动化框架ShutIt怎么用
      今天就跟大家聊聊有关基于Python的shell自动化框架ShutIt怎么用,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。ShutIt是一个易于使用的基于shell的自动化框架。它对...
      99+
      2023-06-17
    • 基于python的Pygame最小开发框架怎么用
      本篇内容主要讲解“基于python的Pygame最小开发框架怎么用”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“基于python的Pygame最小开发框架怎么用”吧!1.最小开发框架代码impo...
      99+
      2023-06-30
    • ASP.NET基于事件的异步模式与异步Action怎么实现
      本篇内容主要讲解“ASP.NET基于事件的异步模式与异步Action怎么实现”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“ASP.NET基于事件的异步模式与异步Action怎么实现”吧!尽管在A...
      99+
      2023-06-17
    • 如何使用ASP框架进行异步编程?
      ASP框架是一种流行的Web应用程序框架,它可以帮助开发人员快速构建高效的Web应用程序。在Web应用程序中,异步编程是非常重要的,因为它可以提高应用程序的性能和响应能力。在本文中,我们将讨论如何使用ASP框架进行异步编程。 在ASP框架中...
      99+
      2023-06-03
      框架 异步编程 numy
    • Python框架中的同步关键字和异步框架有什么区别?
      Python是一种高级编程语言,广泛用于Web应用程序的开发。Python框架中的同步关键字和异步框架是Web开发中的两个重要概念。同步关键字是一种常见的编程方式,它指的是在代码执行期间,代码中的操作必须按照顺序执行。而异步框架则是指在代...
      99+
      2023-06-24
      同步 关键字 框架
    • 基于Laravel5框架的PHP程序怎么优化
      这篇文章主要讲解了“基于Laravel5框架的PHP程序怎么优化”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“基于Laravel5框架的PHP程序怎么优化”吧!1. 配置信息缓存使用以下 A...
      99+
      2023-07-04
    • node基于express框架操作Mysql数据库的步骤
      目录一.在express项目中操作数据库的步骤1.安装mysql模块2.配置mysql模块3.测试mysql模块能否正常工作 4.查询数据库数据5.向数据库插入数据6.更新...
      99+
      2024-04-02
    • web基础之Structs框架怎么使用
      Structs是一个用于构建Web应用程序的开源Java框架。它提供了一些核心功能,如表单验证、国际化、数据绑定等,使开发人员能够更...
      99+
      2023-09-29
      Structs
    • JavaScript异步调用框架的jQuery风格链式该怎么调用
      这期内容当中小编将会给大家带来有关JavaScript异步调用框架的jQuery风格链式该怎么调用,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。我们已经实现了一个简单的J...
      99+
      2024-04-02
    • Java微基准测试框架JMH怎么使用
      使用Java微基准测试框架JMH需要按照以下步骤进行:1. 创建一个Java项目,并将JMH依赖添加到项目的构建文件中(例如,Mav...
      99+
      2023-09-22
      Java JMH
    • Java 自定义Spring框架以及Spring框架的基本使用
      从现在开始,大家可以跟随着我的脚步来自定义一个属于自己的Spring框架。但是,在学习自定义Spring框架之前,我们得先来回顾一下Spring框架的基本使用。知晓了Spring框架...
      99+
      2024-04-02
    • 怎么使用HTML框架
      本篇内容主要讲解“怎么使用HTML框架”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“怎么使用HTML框架”吧!通过使用框架,你可以在同一个浏览器窗口中显示不止一...
      99+
      2024-04-02
    • 你知道哪些Go语言容器框架可用于异步编程吗?
      Go语言是一种并发编程语言,因此,对于容器框架的需求也不断增加。在本文中,我们将介绍几个可用于异步编程的Go语言容器框架,并提供演示代码。 Goroutine 在Go语言中,goroutine 是一种轻量级的线程,它可以在同一进程中同时...
      99+
      2023-10-30
      容器 框架 异步编程
    • 怎么使用jwEngine框架
      本篇文章为大家展示了怎么使用jwEngine框架,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。jwEngine一个跨平台的c++<->lua服务器快速解...
      99+
      2024-04-02
    软考高级职称资格查询
    编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
    • 官方手机版

    • 微信公众号

    • 商务合作