通过Flask将GET/POST请求转换成对Redis缓存库操作的方法

AI推理成本优化实战:基于DigitalOcean的提示词缓存架构设计与实现 在大语言模型(LLM)推理应用中,提示词处理是计算消耗和成本支出的关键环节。其核心原理在于,Transformer模型在生成文本前,需将输入的提示词(Prompt)进行分词、编码和前置计算,这一阶段的计算量与提示词长度成正比,且与最终输出内容无关。当应用场景中存在大量重复的提示词模板时,反复处理相同的常量部分会造成显著的GPU算力浪费和网络带宽消耗,直接推高云服务账单并增加请求延迟。提示词缓存(Prompt Caching)技术正是针对这一痛点,通过缓存模板常量部分的模型中间状态(如注意力层的Key/Val 阅读详情

Flask对Redis缓存库做数据写入读出

最近做相关FLASK接口数据对数据的存储实现及时存取,是这样的一个环境状态:(上草图)
flaskoprationredis
※目前所需要知道的是我从client端,做GET或者POST请求时,我的Flask请求参数会判断相应的请求参数对Redis做 写入/读取 操作。
※这是我们所需要实现的大概情况,根据这个大概情况,我们心里就应该能够理解所需要的操作步骤分别是什么了。
※我按照草图里面的请求操作来分解一下需要的相关操作:
1、※client端进行GET请求时,我的Flask接收到GET请求,然后对GET请求进行相应的操作,相应的操作中可能包含对Redis的读写。
2、※client端进行POST请求时,我的Flask接收到POST请求,然后对POST请求进行相应的操作,相应的操作中也可能包含对Redis的读写。
3、※以上两种操作最后都可能对Redis进行相应的读写,那么Redis接收到了相关的操作请求,就需要执行录入或者反馈操作信息。
OK!
※那么根据这三条分解步骤,可以知道我们所需要的数据交互核心在Flask框架本身,我需要将入出接口数据在Flask中进行交互,然后剩下执行的写入和查询Redis操作单独择出来做明显的动作分离即可。
1、先定义Redis操作动作代码RedisOpration_file:

#RedisOpration_file
import redis
class Insert_redis():
    read_redis = redis.StrictRedis(host='localhost', port=6379,decode_responses=True)
    def set_value(self,key_name,set_input_value):
        self.read_redis.lpush(key_name, set_input_value)
opration_redis = Insert_redis()
if __name__ == "__main__":
    print("")
else:
    opration_redis

在上面这段代码中,我定义了一个class类,类名叫“Insert_redis”。
在class类中定义了一个类函数read_redis创建Redis连接,连接参数为本地的6379默认Redis端口,后面的decode_responses参数意思是将写入Redis键值对中的value定义为String字符串类型。
set_value函数方法定义了两个方法传参key_name和set_input_value,分别传入我们后面执行操作时候需要创建的Redis key名和key里面的value参数。
在set_value函数方法里面只定义了一条操作,这一条操作是对Redis创建Key值并且对创建的Key值添加value操作,LPUSH代表的对Redis进行list列表创建,后面的参数按照位置对应是*(创建的Key值,该Key值中传入的value参数)*
2、定义一个Flask_Opration,该Flask引用Insert_redis类中的Redis操作:

#Flask_Opration
import flask,RedisOpration_file
GetPost_data = flask.Flask(__name__)
@GetPost_data.route('/',methods=['GET','POST'])
def Get_Post():
	if flask.request.method == "GET":
		RedisOpration_file.opration_redis.set_value("Key_aa","value")
		return ("写入Key_aa键值成功!对Key_aa键值录入一条数据")
if __name__ == "__main__":
	GetPost_data.run()

在第二段代码中,我定义了一个简单的Flask请求反馈request函数方法,方法名称是“Get_Post”。
在Get_Post中做了条件判断,判断Flask接收到的前端接口请求是GET方法,调用RedisOpration_file中的set_value动作将"Key_aa"和"value"键入Redis。
至此从Flask到Redis数据写入就已经完成了,我们可以试着打开Postman接口工具,来对我们的Redis进行数据写入:
打开Postman:直接在Postman中通过Flask地址进行JSON的GET点击即可实现对Redis的数据键入:
postmanGet写入Redis
可以看到右边postman返回的参数提示已经将我们的Key值和Value参数写入到了左边的Redis中。


3、接下来定义一个读取Redis的动作:
在RedisOpration_file中增加一个读取方法

#RedisOpration_file
import redis
class Insert_redis():
    read_redis = redis.StrictRedis(host='localhost', port=6379,decode_responses=True)
    dict_a = {}
    def set_value(self,key_name,set_input_value):
        self.read_redis.lpush(key_name, set_input_value)
    def get_value(self):
    	for key in self.read_redis.keys("*"):
    		random_value = self.read_redis.lrange(key, 0, 0)
    		self.dict_a[key] = random_value[0]
    	return self.dict_a
opration_redis = Insert_redis()
if __name__ == "__main__":
    print("")
else:
    opration_redis

在第3段代码中,我新增了一个get_value方法,这个方法中定义了一个循环,循环遍历Redis中读取的所有Key值value,并将这些读取到的value一一对应key值存储到dict_a字典中,最后返回生成的字典。
4、在Flask操作中的Get_Post方法内追加一条POST判断:

#Flask_Opration
import flask,RedisOpration_file
GetPost_data = flask.Flask(__name__)
@GetPost_data.route('/',methods=['GET','POST'])
def Get_Post():
	if flask.request.method == "GET":
		RedisOpration_file.opration_redis.set_value("Key_aa","value")
		return ("写入Key_aa键值成功!对Key_aa键值录入一条数据")
	if flask.request.method == "POST":
		get_redis = RedisOpration_file.opration_redis.get_value()
		return (get_redis)
if __name__ == "__main__":
	GetPost_data.run()

在第4段代码中,我新增了一条Flask对POST请求判断,如果接口请求为POST,则调用
get_value方法返回Redis中所有的key值和value参数组成的字典值到Postman展示出来。
postmanPost读取Redis
END!
至此,一小段简单的Flask接口对接Redis缓存库就已经完成了!
记录一小步,向前一大步!

Web Service架构解析:从SOAP到RESTful API的演进与实践 Web Service作为实现跨平台、跨语言系统间通信的核心技术,其本质是通过标准化协议解决异构系统间的数据交换问题。其工作原理基于客户端-服务器架构,通过定义清晰的接口契约实现松耦合集成。在技术价值层面,Web Service显著提升了系统的互操作性和可维护性,成为企业应用集成和微服务架构的基础。随着技术演进,从早期的SOAP协议到当前主流的RESTful架构,Web Service不断适应新的开发范式。SOAP以其严格的XML格式和WS-*标准体系,在金融、电信等需要高安全性和可靠性的领域仍有应用;而R 阅读详情

相关推荐

大模型应用成本优化:基于会话记忆与缓存代理的Token节省方案

在大模型应用开发中,API调用成本是核心挑战之一,其本质源于Token消耗机制。理解其原理有助于从架构层面进行优化。Token是大型语言模型处理文本的基本计费单位,其消耗量与输入输出的文本长度直接相关,频繁的API调用和冗余的上下文传递会显著推高成本。其技术价值在于通过优化交互模式和网络架构,能在不牺牲功能的前提下实现降本增效。典型的应用场景包括多轮对话系统、智能体工作流和知识库问答。针对这些场景,本文深入探讨了两种高效方案:利用具备“记忆”能力的客户端(如Claude-Mem概念)管理长会话以减少上下文重

weixin_30887919的博客 364

flask 框架(其三)get,post与自定义转换器

1,post与get请求的处理 #get 请求 @app.route('/') def req_args(): a = request.args.get('a') b = request.args.get('b') c = request.args.get('c') print(request.method) print(a, ...

142

简道云与企业微信通讯录自动同步:基于API的实战指南

API(应用程序编程接口)是现代软件系统间实现数据互通与功能集成的核心技术。其原理在于通过预定义的请求与响应格式,允许不同应用安全、高效地交换信息。在数字化转型中,API的价值尤为凸显,它能将原本孤立的业务系统连接起来,构建自动化工作流,从而显著提升运营效率与数据一致性。企业通讯录管理就是一个典型应用场景,手动维护多平台员工信息不仅耗时且易出错。本文聚焦于利用简道云Webhook和企业微信开放API,构建一个实时、可靠的自动化同步方案。通过解析数据流向、管理访问令牌、处理部门映射等核心环节,并结合云函数等轻

weixin_33698043的博客 452

在 Flask 中使用 Redis

在 Flask 中使用 Redis,可以使用redisPython 库和扩展来简化与 Redis 的集成。

CH_happy的博客 1575

SSRF漏洞攻防实战:从原理到内网渗透与云元数据攻击

服务器端请求伪造(SSRF)是一种常见且危害性高的Web安全漏洞,其核心原理在于应用程序错误地信任了由服务器发起的内部请求,导致攻击者能够利用服务器作为代理,访问或攻击内部网络资源。从技术实现上看,SSRF通常源于对用户输入的URL参数校验不足,使得攻击者可以操控服务器向指定地址发起HTTP请求。这种漏洞的技术价值在于它能够绕过常规的网络边界防护,直接触及内网系统、数据库、云服务元数据接口等关键资产,从而引发严重的信息泄露和权限提升风险。在应用场景上,SSRF不仅可用于对内网服务进行端口扫描和敏感系统访问,

weixin_30718391的博客 448

SSRF漏洞原理与内网渗透实战:从零构建攻防认知

服务器端请求伪造(SSRF)是一种常见且危害严重的Web安全漏洞,其核心原理在于应用程序对用户可控的URL参数缺乏充分校验,导致攻击者能够诱使服务器向任意地址发起网络请求。从技术价值看,SSRF因其独特的“内部视角”,常被用作内网渗透的跳板,能够绕过防火墙策略,访问外部无法直接触及的内部系统。在应用场景上,SSRF常出现在在线翻译、文档预览、图片加载等需要远程获取资源的功能中。通过利用Gopher、Dict等协议,攻击者可对内网的Redis、MySQL等服务进行深度利用,例如通过Gopher协议构造Redi

weixin_30855761的博客 462

Python武器库开发-flask篇之Get与Post(二十五)

在Flask中通过request对象请求相关的数据,在正常的网页请求的过程中,有两种请求的方式,Get和Post。

把自己活成一道光,因为你不知道,谁会借着你的光,走出了黑暗。请保持心中的善良,因为你不知道,谁会借着你的善良,走出了绝望。请保持你心中的信仰,因为你不知道,谁会借着你的信仰,走出了迷茫。请相信自己的力量,因为你不知道,谁会因为相信你,开始相信了自己.... 840

Python的Flask框架使用Redis做数据缓存的配置方法

Redis是一款依据BSD开源协议发行的高性能Key-Value存储系统。会把数据读入内存中提高存取效率。Redis性能极高能支持超过100K+每秒的读写频率,还支持通知key过期等等特性,所以及其适合做缓存。 下载安装 根据redis中文网使用wget下载压缩包 $ wget http://download.redis.io/releases/redis-3.0.5.tar.gz $ tar xzf redis-3.0.5.tar.gz $ cd redis-3.0.5 $ make 二进制文件编译完成后在src目录下。可以通过一下命令启动: $ src/redis-server 这

flask使用redis

文章目录前言一、环境二、使用步骤1.安装redis1.下载2.运行2.安装并使用redis包1.安装2.使用运行 前言 有人会有疑问,不是已经连上了mysql数据库了吗,为什么还要用redis数据库?有时候用户访问网页的时候,会产生一些临时性的数据,如验证码等,如果使用mysql存储,那么还要另外新建一张表,还要定时清理表中的验证码,使用mysql操作太麻烦了。正好redis可以解决这个问题,下面通过生成验证码的例子来学习一下。 一、环境 python 3.7 flask 2.0.2 二、使用步骤 本篇

fresh_nam的博客 8437

一文理解近红外光谱数据建模步骤的细节(细节知识总结)

上一篇文章,向入门的同志大体介绍了近红外光谱数据建模的内容,依据上文其实已经可以基本完成数据建模的工作,但是很多工作不够细致,本文便是分享其中的一些技术细节。

weixin_46207310的博客 5567

告别龟速!实测Copernicus Dataspace下载Sentinel-2数据的3个提速技巧(附Workspace批量操作)

本文分享了在Copernicus Dataspace平台高效下载Sentinel-2遥感数据的3个实用技巧,包括网络传输层优化、浏览器与API调优以及Workspace批量操作。通过这些方法,用户可将下载速度提升300%以上,特别适合科研人员和团队处理大规模数据需求。

weixin_30706691的博客 178

flask中使用redis做缓存

有很多种实例方式,这里介绍我最常用的一种CACHE_TYPE:设置缓存的类型# 下面五个参数是所有的类型共有的CACHE_NO_NULL_WARNING = "warning" # null类型时的警告消息CACHE_ARGS = [] # 在缓存类实例化过程中解包和传递的可选列表,用来配置相关后端的额外的参数CACHE_OPTIONS = {} # 可选字典,在缓存类实例化期间传递,也是用来配置相关后端的额外的键值对参数。

python_web全栈 4867

交换机基本介绍(分类、性能指标、硬件构成及工作方式)

一、交换机的分类与性能指标 1.1交换机的分类 按照网络构成方式来分的话,交换机分为三类:接入层交换机、汇聚层交换机和核心层交换机。 按照OSI模型来划分的话,分为:二层交换机、三层交换机和四层交换机 还有一种按照硬件形态来划分,可以分成两类:盒式交换机和机框式交换机。 盒式交换机是一种有固定端口数,有时也会带有少量扩展槽的交换机。机架式交换机是一种插槽式的交换机,这种交换机扩展性较好,可支持不同的网络类型,可支持更大端口密度的网络。一般在数据中心的接入层都会采用盒式交换机,盒式...

monologuezjp的博客 4万+

python 网页框架flask_Github排名中的Python web框架Flask学习方法,非常受用

原标题:Github排名中的Python web框架Flask学习方法,非常受用 flask最近终于发布了它的1.0版本更新,从项目开源到最近的1.0版本flask已经走过了8个年头。 运行python app.py,访问http://localhost:5000/就能看到输出了Hello World!flask诞生在八年前的愚人节,原本只是作者随便写着玩的,想不到一下子就流行起来了。在这八年期间...

weixin_39593247的博客 153

如何从RHEL 8升级到RHEL 9

Red Hat 于 2022 年 5 月 17 日宣布全面推出 RHEL 9。这是 RHEL(Red Hat Enterprise Linux)的最新版本,它具有许多功能和增强功能。

u012748257的博客 1019

【深度学习驱动流体力学】Python流体力学Ansys Fluent

PyFluent 是一个将 Python 编程语言与 Ansys Fluent 流体动力学 (CFD) 仿真软件集成的工具。它允许用户通过 Python 脚本来控制和自动化 Fluent 中的仿真任务,实现从预处理、求解到后处理的全流程控制。PyFluent 结合了 Python 的灵活性和 Fluent 的强大功能,提供了一种高效且灵活的 CFD 仿真方法。PyFluent 是一个强大而灵活的工具,使用户能够通过 Python 脚本全面利用 Ansys Fluent 的功能。

源代码杀手的博客 3123

flask向MySQL封装_GitHub - haiber0702/flask-d: flask框架的二次封装,支持开启多个server,附带常用的组件...

flask-d[github]:https://github.com/guoguowei/flask-d/flask框架的二次封装,更加方便的添加接口,能启动多个服务,并提供常用的组件##原生方式启动cd bin/python main.py api_web_0 start#或者python main.py all_services_0 startapi_web_0来自配置文件default.py...

weixin_39944375的博客 205

【KingSCADA】如何创建新应用

KingSCADA3.8集成开发环境是基于工程的应用管理模式,实现了对多个应用的集中开发和管理的功能,一个工程可以同时管理多个应用,即在KingSCADA3.8工程设计器中可以同时对多个应用进行开发,应用之间可以实现相互复制、粘贴等功能,大大提高了开发效率。(此处感觉和VS类似)使用KingSCADA3.8开发的系统称为应用,一个完整的应用一般包含以下部分或全部内容:IO设备、IO采集点、图形界面、动画链接、趋势曲线、报警和事件、历史记录、数据库、Web Server等部分。

做有价值的事,积累有价值的笔记! 3108

github上的python_Github上最受欢迎的Python框架Flask入门

flask最近终于发布了它的1.0版本更新,从项目开源到最近的1.0版本flask已经走过了8个年头。运行,打开浏览器访问就可以看到页面输出了flask的诞生于2010年的愚人节,本来它只是作者无意间写的一个小玩具,没想到它却悄悄流行起来了。漫长的8年时间,flask一直没有发布一个严肃的正式版本,但是却不能阻挡它成了github上最受好评的Python Web框架。flask内核内置了两个最重要...

weixin_39925098的博客 190

YOLO26模型应用过程中的报错处理及疑问解答,涉及环境搭建、模型训练、模块改进、论文写作

本文记录了YOLO26模型的这一系列过程中可能发生的问题,以及大家非常关心的问题,这里统一做了一个记录和解答。

Limiiiing的博客 241

Python 爬虫实战:微信搜一搜内容深度爬取(含搜索结果解析与企业级架构设计)

在信息爆炸的时代,微信搜一搜已成为海量信息获取的重要入口。无论是个人知识探索,还是企业舆情监控,掌握微信搜一搜内容的深度爬取能力具有巨大价值。本文将从基础原理到企业级实现,全面解析微信搜一搜爬虫的开发过程。

yansideyucsdn的博客 2455

构建AI文本嵌入中转API:统一多模型调用、缓存优化与生产部署指南

文本嵌入技术是自然语言处理的基础,它将文本转换为数值向量,支撑着智能搜索、推荐系统和知识问答等核心应用。其原理在于通过预训练模型捕获语义信息,实现文本的数学化表示。这项技术的价值在于为下游AI任务提供高质量的语义特征,是构建现代智能应用的基石。在实际工程中,开发者常需调用OpenAI、智谱等多家厂商的嵌入模型,但面临网络延迟、费用不透明和稳定性等挑战。为解决这些问题,本文聚焦于**中转API**的设计与实现,通过**适配器模式**统一不同供应商的接口,并引入Redis缓存机制优化性能与成本。该方案适用于需要

weixin_34198762的博客 417

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

flask项目1实战:5、房源信息相关操作(待完善)

(根据居然老师直播课内容整理) 一、所在城区信息 本项目城区未进行三级联动,仅考虑一级区域 城区信息有多个地方使用,如:首页、房屋信息等页面都会使用 所在城区调用时,不一定要登录,如首页时,未登录,就有可能访问所在城区信息 1、城区信息接口设计 1.1 请求方式 选项 方案 请求方法 GET 请求地址 /areas 1.2 请求参数:路径参数 参数名 类型 是否必传 说明 1.3 响应结果:JSON 响应结果 响应内容 json字符串 城区信息...

laoluobo76的博客 247

ssm框架搭建

这个是一个在idea上成功跑起来的ssm框架项目,保存在这里方便以后使用直接下载

SAP B1中文培訓教材_SDK

公司内部培训资料,对开发工具 ,DIAPI, UIAPI,Add-ON有详细解说

从SSRF到Redis未授权访问:一次完整的内网渗透攻击链剖析与防御实践

服务器端请求伪造(SSRF)是一种常见的安全漏洞,其原理在于应用程序过度信任用户输入,未对请求的目标地址进行严格校验,导致攻击者能够操纵服务器向内部网络发起任意请求。这种漏洞的技术价值在于它能绕过常规的网络边界防护,成为攻击者进入内网的跳板。在应用场景中,SSRF常被用于探测内网服务、访问云元数据接口,甚至攻击非HTTP协议服务。当SSRF与Redis未授权访问漏洞结合时,攻击链的危害性将急剧上升。Redis作为高性能内存数据库,默认配置往往缺乏认证与访问控制,攻击者可通过SSRF向其发送指令,进而实现写入

weixin_30619101的博客 419

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

python面试题收集(持续更新)

本篇精简为python相关面试,通用的面试题移至《通用后端面试题收集(持续中)》

weixin_40453090的博客 1385

当退出python时是否释放全部内存_面试 - 成成哦 - 博客园

1.谈一谈Python的装饰器(decorator)引入日志函数执行时间统计执行函数钱预备处理执行函数后的清理功能权限校验等场景缓存2.简要描述Python的垃圾回收机制引用计数:Python在内存中存储每个对象的引用计数,如果计数变成0,该对象就会消失,分配给该对象的内存就会释放出来。标记-清除:一些容器对象,比如list、dict、tuple,instance等可能会出现引用循环,对于这些循环...

weixin_39842918的博客 625
上一篇: NASM汇编.asm提示无法执行二进制文件错误检查
下一篇: 【puppet server 7.9】Centos参照官方安装指南部署master和agent (puppet安装)
赡养
博客等级 码龄7年 31粉丝 23原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值