flask-session、数据库连接池
flask 自带session---》以cookie的形式放到了浏览器中---》加密
真正的session,是在服务端存储
-django中存在djangosession表中
-flask中,使用第三方,保存在---》redis中---》flask-session
使用步骤
pip install flask-session
高版本的flask出现一个问题:
用高版本:在app中放一个参数 app.session_cookie_name='session'
使用方式一:
from flask_session import RedisSessionInterfaceapp.session_cookie_name='session'app.session_interface=RedisSessionInterface(redis=None,key_prefix='lqz') # 动态替换,把原来的session对象换成放到redis的session对象# 4 以后再使用session,就会存到redis中了session.get()session[]=value赋值
使用方式二:
from redis import Redisfrom flask_session import Sessionapp.session_cookie_name = 'session'app.config['SESSION_TYPE'] = 'redis'app.config['SESSION_REDIS'] = Redis(host='127.0.0.1',port='6379')Session(app)
flask-session的请求流程

数据库连接池
全局建立连接,如果来两个请求去数据库中查询数据,可能会造成数据错乱,所以需要在每个视图函数中单独建立连接,但是又会造成数据库连接数量过多,导致数据库效率变低,所以我们引入连接池。

1.安装模块
pip install DBUtils
2.使用 类创建一个池对象-------另起一个py文件
PYMYSQL_POOL = PooledDB(creator=pymysql, # 使用链接数据库的模块maxconnections=2, # 连接池允许的最大连接数,0和None表示不限制连接数mincached=1, # 初始化时,链接池中至少创建的空闲的链接,0表示不创建maxcached=0, # 链接池中最多闲置的链接,0和None不限制maxshared=3,# 链接池中最多共享的链接数量,0和None表示全部共享。PS: 无用,因为pymysql和MySQLdb等模块的 threadsafety都为1,所有值无论设置为多少,_maxcached永远为0,所以永远是所有链接都共享。blocking=True, # 连接池中如果没有可用连接后,是否阻塞等待。True,等待;False,不等待然后报错maxusage=None, # 一个链接最多被重复使用的次数,None表示无限制setsession=[], # 开始会话前执行的命令列表。如:["set datestyle to ...", "set time zone ..."]ping=0,# ping MySQL服务端,检查是否服务可用。# 如:0 = None = never, 1 = default = whenever it is requested, 2 = when a cursor is created, 4 = when a query is executed, 7 = alwayshost='127.0.0.1',port=3306,user='root',password='123',database='cars',charset='utf8'
)
3 从池对象中,取出一个链接使用
conn = PYMYSQL_POOL.connection()
4 flask中使用
@app.route('/')
def index():conn = PYMYSQL_POOL.connection() # 从池中拿一个链接cursor = conn.cursor(cursor=DictCursor) # 默认元组套元组,设置DictCursor就是列表套字典cursor.execute('select id,title from news where id<10')res1 = cursor.fetchall()cursor.close()conn.close()return jsonify(res1)
相关文章:
flask-session、数据库连接池
flask 自带session---》以cookie的形式放到了浏览器中---》加密 真正的session,是在服务端存储 -django中存在djangosession表中 -flask中,使用第三方,保存在---》redis中---》flask-session 使用步骤 pip install flask-session …...
基于EEGLAB的ICA分析
目录 1.ICA原理 2.ICA的实现 3.ICA成分识别 4.ICLabel识别并去除伪迹 5.ICA成分识别练习 1.ICA原理 得到的每一个地形图,实际上就是它的权重谱。 投射:根据原成分恢复原始信号。 选择性投射:去伪。 2.ICA的实现 extended,1&…...
Pytorch深度学习-----神经网络之线性层用法
系列文章目录 PyTorch深度学习——Anaconda和PyTorch安装 Pytorch深度学习-----数据模块Dataset类 Pytorch深度学习------TensorBoard的使用 Pytorch深度学习------Torchvision中Transforms的使用(ToTensor,Normalize,Resize ,Co…...
代码随想录算法训练营day58
文章目录 Day58 每日温度题目思路代码 下一个更大元素 I题目思路代码 Day58 每日温度 739. 每日温度 - 力扣(LeetCode) 题目 请根据每日 气温 列表,重新生成一个列表。对应位置的输出为:要想观测到更高的气温,至少需…...
Grafana集成prometheus(4.Grafana添加预警)
上文已经完成了grafana对prometheus的集成及数据导入,本文主要记录grafana的预警功能(以内存为例) 添加预警 添加入口(2个) databorard面板点击edit,下方有个Alert的tab,创建Alert rules依赖…...
宏观上看Spring创建对象的过程
宏观上看Spring创建对象的过程 对于对象而言,可以分为简单对象和复杂对象; 简单对象 简单对象指可以直接new的对象; Spring在创建这些对象时,是基于反射来完成的。复杂对象 复杂对象指不能直接new的对象。 比如:要得到…...
Jtti:linux如何配置dns域名解析服务器
要配置Linux上的DNS域名解析服务器,您可以按照以下步骤进行操作: 1. 安装BIND软件包:BIND是Linux上最常用的DNS服务器软件,您可以使用以下命令安装它: sudo apt-get install bind9 2. 配置BIND:BIND的配置…...
上网速度慢解决方案
方法 1:手动设置 Proxy 服务器 假如你是使用宽带的用户,使用宽带路由器后可能会发觉无法浏览一些网页,其中一个原因是一些 ISP 商 在后台使用了隐形的代理服务器,使部分网页无法正常显示。假如你多次按“F5”键也无法刷新网页&…...
解决 “fatal: Could not read from remote repository.
问题描述: 在使用Git将本地仓库推送到远程仓库或将远程仓库克隆到本地的时候,发生了如下错误:“fatal: Could not read from remote repository.” 原因分析: 出现这错误一般是以下两种原因: 客户端与服务端未生成 …...
TypeScript知识点总结
typescript是js的超集,目前很多前端框架都开始使用它来作为项目的维护管理的工具,还在不断地更新,添加新功能中,我们学习它,才能更好的在的项目中运用它,发挥它的最大功效 let b: null nulllet c: null …...
Map简单介绍
Map 是 Java 中用于存储键值对的接口,它是一个抽象类,有多个实现类,如 HashMap、TreeMap、LinkedHashMap 等。我将为你提供一些关于 Map 接口的源码解读。 首先,Map 接口的定义如下: public interface Map<K, V&g…...
Linux文本处理工具和正则表达式
Linux文本处理工具和正则表达式 一.查看、截取和修改文本的工具 1.查看文本的工具 cat 最常用的文件查看命令;当不指明文件或者文件名为一杠’-时,读取标准输入。 cat [OPTION]... [FILE]... -A:显示所有控制符(tab键:^I;行结束符:$) -…...
【WebRTC---源码篇】(二十三)JitterBuffer
PacketBuffer packetbuffer类中重要的一些变量 // buffer_.size() and max_size_ must always be a power of two.const size_t max_size_;//能存储的最大元素个数// The fist sequence number currently in the buffer.uint16_t first_seq_num_ RTC_GUARDED_BY(crit_);//这个…...
基于SpringBoot+Vue的在线考试系统设计与实现(源码+LW+部署文档等)
博主介绍: 大家好,我是一名在Java圈混迹十余年的程序员,精通Java编程语言,同时也熟练掌握微信小程序、Python和Android等技术,能够为大家提供全方位的技术支持和交流。 我擅长在JavaWeb、SSH、SSM、SpringBoot等框架…...
用Rust实现23种设计模式之 外观模式
关注我,学习Rust不迷路!! 外观模式是一种结构型设计模式,它提供了一个统一的接口,用于访问子系统中的一组接口。以下是外观模式的优点和使用场景: 优点: 简化客户端代码:外观模式…...
使用一个python脚本抓取大量网站【1/3】
一、说明 您是否曾经想过抓取网站,但又不想为像Octoparse这样的抓取工具付费?或者,也许您只需要从网站上抓取几页,并且不想经历设置抓取脚本的麻烦。在这篇博文中,我将向您展示我如何创建一个工具,该工具能…...
Session与Cookie的区别(五)
储存状态的方式 小明的故事说完了,该来把上面这一段变成网络的实际案例了。其实在网络世界中问题也是一样的。 前面已经提到过我们会把状态存在 Cookie 里面,让 Request 之间能够变得有关联。 假设我们今天要来做一个会员系统,那我要怎么知道…...
【Linux】网络编程套接字
目录 1 预备知识 1.1 IP地址 1.2 端口号 1.3 TCP协议和UDP协议 1.4 网络字节序 2 socket 编程接口 2.0 socket 常见 API 2.1 socket 系统调用 2.2 bind 系统调用 2.3 recvfrom 系统调用 2.4 sendto 系统调用 2.5 listen 系统调用 2.6 accept 系统调用 2.7 con…...
【C++】语法小课堂 --- auto关键字 typeid查看实际类型 范围for循环 空指针nullptr
文章目录 🍟一、auto关键字(C11)🍩1、auto的简介🍩2、auto的使用细则🚩auto与指针和引用结合起来使用🚩 在同一行定义多个变量 🍩3、auto不能推导的场景1️⃣auto不能作为函数的参数…...
Vercel 部署的项目发现APIkeys过期了怎么办
好不容易部署的Vercel,发现APIkeys过期了显示,查了查资料发现只要更新下新的apikeys,然后再重新部署下就好了。 重新设置APIkeys 1.1. 进去 Vercel 项目内部控制台,点击顶部的 Settings 按钮; 1.2 点击环境变量Enviorn…...
零门槛NAS搭建:WinNAS如何让普通电脑秒变私有云?
一、核心优势:专为Windows用户设计的极简NAS WinNAS由深圳耘想存储科技开发,是一款收费低廉但功能全面的Windows NAS工具,主打“无学习成本部署” 。与其他NAS软件相比,其优势在于: 无需硬件改造:将任意W…...
7.4.分块查找
一.分块查找的算法思想: 1.实例: 以上述图片的顺序表为例, 该顺序表的数据元素从整体来看是乱序的,但如果把这些数据元素分成一块一块的小区间, 第一个区间[0,1]索引上的数据元素都是小于等于10的, 第二…...
黑马Mybatis
Mybatis 表现层:页面展示 业务层:逻辑处理 持久层:持久数据化保存 在这里插入图片描述 Mybatis快速入门 
网络命令 Ping 命令 检测网络是否连通 使用方法: ping -c 次数 网址ping -c 3 www.baidu.comnetstat 命令 netstat 是一个用来查看网络状态的重要工具. 语法:netstat [选项] 功能:查看网络状态 常用选项: n 拒绝显示别名&#…...
JVM垃圾回收机制全解析
Java虚拟机(JVM)中的垃圾收集器(Garbage Collector,简称GC)是用于自动管理内存的机制。它负责识别和清除不再被程序使用的对象,从而释放内存空间,避免内存泄漏和内存溢出等问题。垃圾收集器在Ja…...
如何将联系人从 iPhone 转移到 Android
从 iPhone 换到 Android 手机时,你可能需要保留重要的数据,例如通讯录。好在,将通讯录从 iPhone 转移到 Android 手机非常简单,你可以从本文中学习 6 种可靠的方法,确保随时保持连接,不错过任何信息。 第 1…...
Spring AI 入门:Java 开发者的生成式 AI 实践之路
一、Spring AI 简介 在人工智能技术快速迭代的今天,Spring AI 作为 Spring 生态系统的新生力量,正在成为 Java 开发者拥抱生成式 AI 的最佳选择。该框架通过模块化设计实现了与主流 AI 服务(如 OpenAI、Anthropic)的无缝对接&…...
NFT模式:数字资产确权与链游经济系统构建
NFT模式:数字资产确权与链游经济系统构建 ——从技术架构到可持续生态的范式革命 一、确权技术革新:构建可信数字资产基石 1. 区块链底层架构的进化 跨链互操作协议:基于LayerZero协议实现以太坊、Solana等公链资产互通,通过零知…...
今日科技热点速览
🔥 今日科技热点速览 🎮 任天堂Switch 2 正式发售 任天堂新一代游戏主机 Switch 2 今日正式上线发售,主打更强图形性能与沉浸式体验,支持多模态交互,受到全球玩家热捧 。 🤖 人工智能持续突破 DeepSeek-R1&…...
华为云Flexus+DeepSeek征文|DeepSeek-V3/R1 商用服务开通全流程与本地部署搭建
华为云FlexusDeepSeek征文|DeepSeek-V3/R1 商用服务开通全流程与本地部署搭建 前言 如今大模型其性能出色,华为云 ModelArts Studio_MaaS大模型即服务平台华为云内置了大模型,能助力我们轻松驾驭 DeepSeek-V3/R1,本文中将分享如何…...
