python+sqlite3(为当前线程获取一个独立的SQLite连接)

db/index.py

python 复制代码
import threading
import sqlite3

thread_local_data = threading.local()

# 测试数据库连接
def test():
    conn = sqlite3.connect("E:/temp/m-yuying-db/my_yuying_dev_local.db")
    cu = conn.cursor()
    cu.execute("select * from user")

    data = cu.fetchall()
    total = len(data)
    print("data", total)


# 获取数据库连接
def handleDbConnection():
    if not hasattr(thread_local_data, "connection"):
        thread_local_data.connection = sqlite3.connect(
            "E:/temp/m-yuying-db/my_yuying_dev_local.db", check_same_thread=False
        )
    return thread_local_data.connection

light/user/index.py

python 复制代码
from flask import request, jsonify
from db.index import test, handleDbConnection


def userSearch():
    req = request.get_json()
    print(req)
    # test()
    conn = handleDbConnection()
    cu = conn.cursor()
    cu.execute("select * from user")
    data = cu.fetchall()
    total = len(data)
    print("data2", total)
    return jsonify(
        {"code": 200, "data": {"name": req["name"], "total": total}, "msssage": "成功"}
    )
相关推荐
LSL666_12 分钟前
MybatisPlus条件构造器(上)
java·数据库·mysql·mybatisplus
U-52184F6926 分钟前
深入理解“隐式共享”与“写时复制”:从性能魔法到内存深坑
java·数据库·算法
程序猿ZhangSir1 小时前
详解了解 Redis IO多路复用底层原理,Select,poll,epoll三者的区别?
数据库·redis·缓存
U-52184F691 小时前
深度解析:从 Qt 的 Q_D 宏说起,C++ 工业级 SDK 是如何保证 ABI 稳定性的
数据库·c++·qt
Gauss松鼠会1 小时前
【GaussDB】LLVM技术在GaussDB等数据库中的应用
大数据·数据库·架构·数据库开发·gaussdb·llvm
IMPYLH1 小时前
Linux 的 dir 命令
linux·运维·服务器·数据库
wfsm1 小时前
mysql事务
数据库·mysql
SadSunset2 小时前
第一章:Redis 入门介绍
数据库·redis·缓存
weixin_464307632 小时前
QT智能指针
java·数据库·qt
王仲肖2 小时前
PostgreSQL VACUUM 与 AUTOVACUUM 深度解析
数据库·postgresql