首页 > 其他分享 >实战案例三:异步操作FastAPI

实战案例三:异步操作FastAPI

时间:2024-08-27 21:18:14浏览次数:9  
标签:实战 __ 异步 FastAPI app await redis import

FastAPI框架

安装

pip3 install fastapi
pip3 install uvicorn (asgi内部基于uvloop)

示例: luffy.py

#!/usr/bin/env python
# -*- coding:utf-8 -*-
import asyncio

import uvicorn
import aioredis
from aioredis import Redis
from fastapi import FastAPI

app = FastAPI()

# 创建一个redis连接池
REDIS_POOL = aioredis.ConnectionsPool('redis://47.193.14.198:6379', password="root123", minsize=1, maxsize=10)


@app.get("/")
def index():
    """ 普通操作接口 """
    return {"message": "Hello World"}


@app.get("/red")
async def red():
    """ 异步操作接口 """
    
    print("请求来了")

    await asyncio.sleep(3)
    # 连接池获取一个连接
    conn = await REDIS_POOL.acquire()
    redis = Redis(conn)

    # 设置值
    await redis.hmset_dict('car', key1=1, key2=2, key3=3)

    # 读取值
    result = await redis.hgetall('car', encoding='utf-8')
    print(result)

    # 连接归还连接池
    REDIS_POOL.release(conn)

    return result


if __name__ == '__main__':
    uvicorn.run("luffy:app", host="127.0.0.1", port=5000, log_level="info")

标签:实战,__,异步,FastAPI,app,await,redis,import
From: https://www.cnblogs.com/Tmars/p/18383558

相关文章

  • 实战案例四:异步实现爬虫
    爬虫pip3installaiohttpimportaiohttpimportasyncioasyncdeffetch(session,url):print("发送请求:",url)asyncwithsession.get(url,verify_ssl=False)asresponse:text=awaitresponse.text()print("得到结果:",......
  • 用Python实现时间序列模型实战——Day1:时间序列的基本概念
    一、学习内容1.时间序列数据的定义与特点定义:时间序列数据是一组按时间顺序排列的观测值。时间序列的每个观测值都与特定时间点相关联。例如,气温每天的记录、股票每日的收盘价等。特点:时间依赖性:时间序列数据的一个基本特点是当前数据点可能依赖于之前的一个或多个数据点......
  • asyncio + httpx异步请求板子
    AI写的asyncio+httpx异步请求板子importasyncioimporthttpximportjsonimportaiofilesfrompathlibimportPathproject_dir=Path(__file__).resolve().parent#使用代理proxy="http://username:password@ip:port"#异步并发数max_concurrency=5input_f......
  • 二分查找算法:朴素二分+左右边界二分&力扣实战应用
    目录:1、二分查找算法简介2、算法原理及时间复杂度分析2.1朴素二分算法3.2查找左右边界的二分算法3.2.1查找左边界3.2.2查找右边界3.3时间复杂度分析3、二分查找算法模版3.1朴素二分模版3.2查找左右边界的二分模版4、算法应用【leetcode】4.1题一:搜素插入位......
  • 实现定制化 AutoGPT 实战
    简介在前面的学习过程中,已经了解到了AutoGPT基本的环境安装操作。接下来就可以基于AutoGPT完成一些有趣的任务。通过AutoGPT实现我们的需求环境准备在正式使用AutoGPT之前,确认以下环境没有任何问题:稳定的上网环境。配置好的AutoGPT环境。可以使用的token。如......
  • 【项目实践】CompletableFuture异步编排在多任务并行执行中的使用
    【项目实践】CompletableFuture异步编排在多任务并行执行中的使用一、单次请求处理多任务的场景        在实际项目中,我们经常会遇到一些比较复杂的查询,需要给前端响应一个内容量较大的响应结果。例如在租房系统的app中,点击具体的某个房间查看详情,需要后端将这个房间的......
  • 书生大模型实战营3期 - 进阶岛 - 6 - MindSearch 快速部署
    文章目录闯关任务完成结果闯关任务任务描述:MindSearchCPU-only版部署任务文档:MindSearchCPU-only版部署完成结果按照教程,将MindSearch部署到HuggingFace,并提供截图。新建一个目录用于存放MindSearch的相关代码,并把MindSearch仓库clone下来:mkdir-......
  • OOTD一键换衣(环境部署保姆级教学,包括完整fastapi访问换衣代码)
    替换裤子图:  "OOTD一键换衣"是指使用人工智能(AI)技术,特别是计算机视觉和深度学习技术,来自动更换人物照片中的服装的技术或应用。这种技术允许用户上传一张人物照片,并且通过AI算法替换照片中人物的服装,以达到试穿不同服饰的效果而无需真实更换服装。这种技术在电子商务、虚......
  • 滚雪球学Java(91):Java GUI编程实战:精通组件开发技巧,真有点东西!
      咦咦咦,各位小可爱,我是你们的好伙伴——bug菌,今天又来给大家普及JavaSE啦,别躲起来啊,听我讲干货还不快点赞,赞多了我就有动力讲得更嗨啦!所以呀,养成先点赞后阅读的好习惯,别被干货淹没了哦~......
  • Linux异步通知
    1.异步通知简介我们首先来回顾一下“中断”,中断是处理器提供的一种异步机制,我们配置好中断以后就可以让处理器去处理其他的事情了,当中断发生以后会触发我们事先设置好的中断服务函数,在中断服务函数中做具体的处理。信号类似于我们硬件上使用的“中断”,只不过信号是软......