flask-session、数据库连接池

这篇具有很好参考价值的文章主要介绍了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 RedisSessionInterface
    app.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 Redis
    from flask_session import Session
    app.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的请求流程

flask-session、数据库连接池,flask,flask,python,后端

数据库连接池

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

flask-session、数据库连接池,flask,flask,python,后端文章来源地址https://www.toymoban.com/news/detail-630651.html

 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 = always
    host='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、数据库连接池的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包赞助服务器费用

相关文章

  • python Flask项目使用SQLalchemy连接数据库时,出现RuntimeError:Working outside of application context.的解决过程记录

    在使用python的Flask框架跟着教程编写项目时,我跟着教程使用了三个文件来组织,分别是main.py(主程序),module.py(数据库模型),controller.py(蓝图模块程序,用Blueprint衔接) 在主程序中,创建app、SQLalchemy实例对象db并将二者绑定 在module.py中,导入主程序中的db和app,创建

    2024年02月09日
    浏览(10)
  • 【Flask 连接数据库,使用Flask-Migrate实现数据库迁移及问题汇总】

    Flask 连接数据库,使用Flask-Migrate实现数据库迁移 安装Flask-Migrate插件 使用Flask-Migrate步骤 app.py主要用于数据库连接 model.py 中导入了 db,作用是存储一个User类 ,用于生成表头。 manager.py用于数据迁移管理,运行后将生成一个文件夹。 Flask-Migrate运行 问题汇总 问题一:flask_mig

    2024年01月16日
    浏览(33)
  • flask创建数据库连接池

    flask创建数据库连接池

    flask创建数据库连接池 在Python中,您可以使用 Flask-SQLAlchemy 这个扩展来创建一个数据库连接池。Flask-SQLAlchemy 是一个用于 Flask 框架的 SQLAlchemy 操作封装,实现了 ORM(Object Relational Mapper)。ORM 主要用于将类与数据库中的表建立映射关系,使得我们可以非常方便地通过操作类来操作

    2024年02月15日
    浏览(12)
  • flask笔记 02 | Flask数据库连接(sqlite、mysql)

    flask笔记 02 | Flask数据库连接(sqlite、mysql)

    Flask没有指定使用的数据库,不像django提供了orm数据库抽象层,可以直接采用对象的方式操作数据库。但为了开发效率,在开发Flask项目中一般会选择 SQLALchemy 来操作数据库,类似django的ORM. SQLALchemy实际是对数据库的抽象,让开发者不直接使用sql语句进行开发,而是通过Pytho

    2024年01月25日
    浏览(13)
  • Flask 数据库 连接池、DBUtils、http 连接池

    Flask 数据库 连接池、DBUtils、http 连接池

    DBUtils 是一套用于管理 数据库 \\\" 连接池 \\\" 的Python包,为 \\\"高频度、高并发\\\"  的数据库访问提供更好的性能,可以自动管理连接对象的创建和释放。 并允许对非线程安全的数据库接口进行线程安全包装和连接。 该连接可在各种多线程环境中使用。 使用场景:如果使用的是流行

    2024年02月04日
    浏览(10)
  • flask-sqlalchemy连接数据库

    flask-sqlalchemy连接数据库

    1、安装flask_sqlalchemy和pymysql包 2、进行配置 使用Flask-SQLAlchemy扩展操作数据库,首先需要通过URL建立数据库连接,必须保存到Flask配置对象的SQLALCHEMY_DATABASE_URI中。 其中HOSTNAME为路由地址 PORT为端口号,我在创建数据库时没有更改,所以用的默认的3306端口号 DATABASE为数据库名字

    2024年02月06日
    浏览(12)
  • (二十七)Flask之数据库连接池DBUtils库

    (二十七)Flask之数据库连接池DBUtils库

    🏆🏆作者介绍:【孤寒者】—CSDN全栈领域优质创作者、HDZ核心组成员、华为云享专家Python全栈领域博主、CSDN原力计划作者 🔥🔥 本文已收录于Flask框架从入门到实战专栏 :《Flask框架从入门到实战》 🔥🔥 热门专栏推荐 :《Python全栈系列教程》、《爬虫从入门到精通系列

    2024年04月13日
    浏览(12)
  • 如何使用Flask-SQLAlchemy来管理数据库连接和操作数据?

    首先,我们需要安装Flask-SQLAlchemy。你可以使用pip来安装它,就像这样: 好了,现在我们已经有了一个可以操作数据库的工具,接下来让我们来看看如何使用它吧! 首先,我们需要创建一个Flask应用对象,并配置数据库的连接字符串和师: 现在,我们已经创建了一个数据库,

    2024年02月15日
    浏览(14)
  • Python(Web时代)—— Flask的数据库操作

    SQLAlchamy  是 Python 中一个通过 ORM 操作数据库的框架 SQLAlchemy(对象关系映射器)提供了一种方法,用于将用户定义的Python类与数据库表相关联,并将这些类(对象)的实例与其对应表中的行相关联。 简单理解:   创建一个类,一个类对应了一个数据库中的一张表,类的属性

    2024年01月22日
    浏览(15)
  • 大白话说Python+Flask入门(六)Flask SQLAlchemy操作mysql数据库

    大白话说Python+Flask入门(六)Flask SQLAlchemy操作mysql数据库

    这篇文章被搁置真的太久了,不知不觉拖到了周三了,当然,也算跟falsk系列说再见的时候,真没什么好神秘的,就是个数据库操作,就大家都知道的 CRUD 吧。 1、Flask SQLAlchemy简介 Flask SQLAlchemy 是基于 Flask web 框架和 SQLAlchemy ORM (对象关系映射)的工具。它旨在为 Flask web 应用

    2024年02月05日
    浏览(19)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包