013、Python+fastapi,第一个后台管理项目走向第13步:建立python+fastapi项目,创建cache模块

一、说明

在今天学习RuoYi-Vue3-FastAPI的代码过程中,我遇到了几个问题,下面说说自己的感想

二、自定义的log装饰器

源码中是log_annotation.py,代码也没什么好说的,这个知识点到处都是文章,可以在csdn上搜索学习,python中wraps函数用法详情_python @wraps函数-CSDN博客icon-default.png?t=N7T8https://blog.csdn.net/weixin_44799217/article/details/126170313?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522171314428516800213066157%2522%252C%2522scm%2522%253A%252220140713.130102334..%2522%257D&request_id=171314428516800213066157&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2~all~sobaiduend~default-2-126170313-null-null.142%5Ev100%5Econtrol&utm_term=%40wraps%28func%29&spm=1018.2226.3001.4187

主要就是wraps的用法,大家看看就ok了

三、自定义的pydantic装饰器as_query as_form

FastAPI从入门到实战(2)——Pydantic模型_fastapi pydantic-CSDN博客icon-default.png?t=N7T8https://blog.csdn.net/qq_45730223/article/details/128069420?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522171314582816800213094097%2522%252C%2522scm%2522%253A%252220140713.130102334.pc%255Fall.%2522%257D&request_id=171314582816800213094097&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2~all~first_rank_ecpm_v1~rank_v31_ecpm-2-128069420-null-null.142%5Ev100%5Econtrol&utm_term=pydantic%E6%A8%A1%E5%9E%8B%2Bfastapi&spm=1018.2226.3001.4187

主要 学习inspect模块

函数参数检测-inspect模块_函数测参数-CSDN博客icon-default.png?t=N7T8https://blog.csdn.net/tlammon/article/details/105462433?ops_request_misc=&request_id=&biz_id=102&utm_term=inspect%E6%A8%A1%E5%9D%97%E7%9A%84%E6%96%87%E6%A1%A3&utm_medium=distribute.pc_search_result.none-task-blog-2~all~sobaiduweb~default-2-105462433.142%5Ev100%5Econtrol&spm=1018.2226.3001.4187那我们就把annotation目录全加进去吧

四、添加一个cache模块

1、添加一个模块过程

  • 我们假设数据库已经设计好了
  • 数据库好了,那么oo就好了
  • 后面还有controller层、server层、dao层、vo entity(根据业务或view来定,起始简单点说就是返回给前端的数据)、各层的关系网上有很多,简单点就是controller层就是前端与后端数据传输层,就像餐厅服务员一样,端来端去的,还会给server层交互;server层是业务处理的,做菜的,数据计算可以放在这里,dao层也叫持久层,和数据库交互的,洗菜的算这里吗?准备食材给做菜的啊?vo entity可以理解为食材都有,但是不在一起,做菜的不好拿,我们把需要的食材放在一起。
  • 这几层只要接口文档设计好了,就都很明显的出来了,不就是前端要什么数据我们就给什么吗?前端要什么数据不就是原型设计有吗?

2、创建缓存监控模块对应pydantic模型

 mucauna-fastapi/admin/entity/vo/cache_vo.py

3、创建缓存监控模块控制层

mucauna-fastapi/admin/controller/ cache_controller.py

首先我们要学习一下,Depends

参考

FastAPI基础:Depends怎么用?_fastapi depends-CSDN博客icon-default.png?t=N7T8https://blog.csdn.net/NeverLate_gogogo/article/details/112472480?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522171316310316800222871946%2522%252C%2522scm%2522%253A%252220140713.130102334..%2522%257D&request_id=171316310316800222871946&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2~all~sobaiduend~default-1-112472480-null-null.142%5Ev100%5Econtrol&utm_term=Depends&spm=1018.2226.3001.4187

完成以上接口,代码不难,自己看看就行了。

3、创建缓存监控模块服务层

边做controller层,边写server曾

mucauna-fastapi/admin/controller/ cache_server.py

4、cache取自于redis 没有数据库表,没有vo,没有dao层

5、接口调试

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/317243.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

数据结构—C语言实现双向链表

目录 1.双向带头循环链表 2.自定义头文件: 3.List.cpp 文件 3.1 newnode()函数讲解 3.2 init() 函数 初始化 3.3 pushback()函数 尾插 3.4 pushfront()函数 头插 3.5 popback() 尾删 3.6 popfront() 函数 头删 3.7 insert()函数 在pos之后插入 3.8 popbac…

ZooKeeper 环境搭建详细教程之三(真集群)

ZooKeeper 搭建详细步骤之三(真集群) ZooKeeper 搭建详细步骤之二(伪集群模式) ZooKeeper 搭建详细步骤之一(单机模式) ZooKeeper 及相关概念简介 真集群搭建 搭建 ZooKeeper 真集群涉及多个步骤,包括准备环境、配置文件设置、启动服务以及验证集群状态。 以下是一个简…

AC+AP三层组网实验(华为)

一,技术简介 APAC架构是一种常见的无线局域网(WLAN)组网方式,主要由接入点(Access Point,简称AP)和接入控制器(Access Controller,简称AC)组成。 在APAC架构…

PotatoPie 4.0 实验教程(25) —— FPGA实现摄像头图像直方图均衡变换

图像的直方图均衡是什么? 图像的直方图均衡是一种用于增强图像对比度的图像处理技术。在直方图均衡中,图像的像素值被重新分配,以使得图像的直方图变得更均匀,即各个像素值的分布更加平衡。这意味着直方图中每个像素值的频率大致…

免费ChatGPT合集——亲测免费

1、YesChat 无需登录 网址:YesChat-ChatGPT4V Dalle3 Claude 3 All in One Freehttps://www.yeschat.ai/ 2. 讯飞星火 要登录 讯飞星火大模型-AI大语言模型-星火大模型-科大讯飞 3.通义千问 要登录 通义我是通义,一个专门响应人类指令的…

【webrtc】MessageHandler 5: 基于线程的消息处理:以PeerConnection信令线程为例

peerconn的信令是通过post 消息到自己的信令线程消息来处理的PeerConnectionMessageHandler 是具体的处理器G:\CDN\rtcCli\m98\src\pc\peer_connection_message_handler.hMachinery for handling messages posted to oneself PeerConnectionMessageHandler 明确服务于 signalin…

什么是域名解析?域名解析的完整流程是什么?如何清理DNS缓存?(附源码)

目录 1、什么是域名? 2、为什么使用域名? 3、域名解析的完整流程 4、调用gethostbyname系统接口将域名解析成IP地址 5、为什么需要清理系统DNS缓存? 6、使用cmd命令清理DNS缓存 7、通过代码去清除系统DNS缓存 C软件异常排查从入门到精…

Eagle for Mac:强大的图片管理工具

Eagle for Mac是一款专为Mac用户设计的图片管理工具,旨在帮助用户更高效、有序地管理和查找图片资源。 Eagle for Mac v1.9.2中文版下载 Eagle支持多种图片格式,包括JPG、PNG、GIF、SVG、PSD、AI等,无论是矢量图还是位图,都能以清…

Orange3数据可视化(树查看器-决策树)

树视图 分类和回归树的可视化。 输入 树:决策树 输出 选中的数据:从树节点中选中的实例 数据:带有额外一列,显示每个点是否被选中 这是一个多功能的小部件,用于展示分类和回归树的2D可视化。用户可以选择一个节点…

吴恩达深度学习笔记:深度学习的 实践层面 (Practical aspects of Deep Learning)1.11-1.12

目录 第二门课: 改善深层神经网络:超参数调试、正 则 化 以 及 优 化 (Improving Deep Neural Networks:Hyperparameter tuning, Regularization and Optimization)第一周:深度学习的 实践层面 (Practical aspects of Deep Learning)1.11 神经网络的权重…

Aker(安碁科技)晶振产品应用和选型

一、石英晶体振荡器简介 在电子电路系统中,特定的动作需要严格按照一定的顺序进行,以确保数据被正确处理和操作,时钟信号就成了系统工作的重要引导者。而且在多模块复杂电路系统中,为了确保不同功能模块能协调一致地工作&#xf…

使用RTSP将笔记本摄像头的视频流推到开发板

一、在Windows端安装ffmpeg 1. 下载ffmpeg:下载ffmpeg 解压ffmpeg-master-latest-win64-gpl.zip bin 目录下是 dll 动态库 , 以及 可执行文件 ;将 3 33 个可执行文件拷贝到 " C:\Windows " 目录下 ,将所有的 " .dll " 动态库拷贝到 " C:\Windows\Sy…

数据挖掘之基于K近邻算法的原油和纳斯达克股票数据预测分析

欢迎大家点赞、收藏、关注、评论啦 ,由于篇幅有限,只展示了部分核心代码。 文章目录 一项目简介 二、功能三、系统四. 总结 一项目简介 一、项目背景 在当今日益复杂的金融市场中,准确地预测原油价格和纳斯达克股票市场的走势对于投资者、政…

Python 与 TensorFlow2 生成式 AI(四)

原文:zh.annas-archive.org/md5/d06d282ea0d9c23c57f0ce31225acf76 译者:飞龙 协议:CC BY-NC-SA 4.0 第九章:文本生成方法的崛起 在前几章中,我们讨论了不同的方法和技术来开发和训练生成模型。特别是在第六章“使用 …

易查分如何使用导出PDF功能?

易查分的导出PDF文件功能可以将查询结果下载到本地,也可用于打印出纸质资料。老师和学生家长都可以自主导出PDF文件,下面就来教大家如何使用此功能。 📌老师如何导出PDF? 在查询管理页,点击管理按钮-导出,可…

人工智能分割分类model:nnUnet-paddle

文章目录 神经网络nnUnet和paddle都需要在Ubuntu下进行安装PaddleProject 神经网络 开源来自https://github.com/MIC-DKFZ/nnUNet 自建了仓库,但还不会用 来自 mmsegmentation有空去了解 . MICCAI 2020 也是用到这个网络 paddle上的是不是不能用… nnUnet和pad…

机器学习/算法工程师面试题目与答案-深度学习部分1

机器学习/算法工程师面试题目与答案-深度学习部分 BatchNormalization的作用梯度消失循环神经网络,为什么好?什么是GroupConvolution什么是RNN模型不收敛的原因图像处理中锐化和平滑的操作VGG使用3*3卷积核的优势是什么?Relu比Sigmoid的效果好在哪里?神经网络中权…

Apache Doris 2.x 版本【保姆级】安装+使用教程

Doris简介 Apache Doris 是一个基于 MPP 架构的高性能、实时的分析型数据库,以极速易用的特点被人们所熟知,仅需亚秒级响应时间即可返回海量数据下的查询结果,不仅可以支持高并发的点查询场景,也能支持高吞吐的复杂分析场景。基于…

深入解析yolov5,为什么算法都是基于yolov5做改进的?(一)

YOLOv5简介 YOLOv5是一种单阶段目标检测算法,它在YOLOv4的基础上引入了多项改进,显著提升了检测的速度和精度。YOLOv5的设计哲学是简洁高效,它有四个版本:YOLOv5s、YOLOv5m、YOLOv5l、YOLOv5x,分别对应不同的模型大小…

【MySQL】MVCC的实现原理

【MySQL】MVCC的实现原理 MVCC简介事务的隔离级别读未提交(Read Uncommitted)概念分析 读已提交(Read Committed)概念分析结论 可重复读(Repeatable Read)概念分析结论 串行化(Serializable &am…