当前位置: 首页 > news >正文

python3 django mysql 连接池说明

使用Python的django框架连接数据库,操作数据库代码:

 

import logging  
from django.db import connection  
  
LOG = logging.getLogger("boss")  
  
def dictfetchall(cursor):  
    "Return all rows from a cursor as a dict"  
    desc = cursor.description  
    if desc == None:  
        return []  
    columns = [col[0] for col in desc]  
    # for row in cursor.fetchall():  
    #     rows.append(row)  
    return [  
        dict(zip(columns, row))  
        for row in cursor.fetchall()  
    ]  
  
def dictfetone(cursor):  
    desc = cursor.description  
    if desc == None:  
        return None  
    columns = [col[0] for col in desc]  
    row = cursor.fetchone()  
    if row == None:  
        return None  
    return dict(zip(columns,row))  
  
  
def fetchall(sql,params=[]):  
    cursor =connection.cursor()  
    cursor.execute(sql,params)  
    ret = dictfetchall(cursor)  
    return ret  
  
  
def fetchone(sql,params=[]):  
    cursor =connection.cursor()  
    cursor.execute(sql,params)  
    ret =  dictfetone(cursor)  
    cursor.close()  
    return ret  
  
def executeDb(sql,params=[]):  
    cursor =connection.cursor()  
    ret = cursor.execute(sql,params)  
    cursor.close()  
    return ret  

 

在代码中看到 cursor执行完之后,执行close。想到diango的mysql连接是不是没有做连接池?带着这个疑问上网查看,发现果然有这方面的文档。后来看官网时发现:

 

django最新版本已经包含了连接池,通过修改配置控制,官方文档:https://docs.djangoproject.com/en/1.9/ref/databases/

证明最好还是看官方文档。

 

转载自:http://blog.csdn.net/kelindame/article/details/52443972?locationNum=2&fps=1#

 

相关文章:

  • 【Spring源码分析】AOP源码解析(下篇)
  • 深入浅出设计模式(四)
  • scala-基础-映射(1)
  • struts2的核心和工作原理
  • Linux 有问必答:在 Linux 如何更改文本文件的字符编码
  • 《Node应用程序构建——使用MongoDB和Backbone》一2.4 Socket.io
  • 《C++ 黑客编程揭秘与防范(第2版)》—第6章6.2节详解PE文件结构
  • 《Adobe Illustrator CS5中文版经典教程》—第0课0.16节 使用符号
  • 《Nmap渗透测试指南》—第1章1.3节Linux/Unix源码编译安装Nmap
  • 《嵌入式 Linux C 语言应用程序设计(修订版)》——本章小结
  • 《创意特训营——30天超级灵感唤醒术》—第1章1.4节增加创意的数量
  • 《游戏大师Chris Crawford谈互动叙事》一9.3 互动小说(Interactive Fiction,IF):文字冒险的继承者...
  • 《Wireshark网络分析实战》—第1章1.2节安置Wireshark(程序或主机)
  • 《精通QTP——自动化测试技术领航》—第1章1.2节帮助文档(HELP)-QTP的说明书...
  • 《jQuery、jQuery UI及jQuery Mobile技巧与示例》——9.16 技巧:使用主题来更改配色方案...
  • 【React系列】如何构建React应用程序
  • AzureCon上微软宣布了哪些容器相关的重磅消息
  • classpath对获取配置文件的影响
  • Gradle 5.0 正式版发布
  • JavaScript设计模式系列一:工厂模式
  • leetcode386. Lexicographical Numbers
  • mac修复ab及siege安装
  • MySQL的数据类型
  • php中curl和soap方式请求服务超时问题
  • SpiderData 2019年2月25日 DApp数据排行榜
  • Spring-boot 启动时碰到的错误
  • XForms - 更强大的Form
  • 飞驰在Mesos的涡轮引擎上
  • 官方解决所有 npm 全局安装权限问题
  • 湖南卫视:中国白领因网络偷菜成当代最寂寞的人?
  • 简单数学运算程序(不定期更新)
  • 将回调地狱按在地上摩擦的Promise
  • 前端存储 - localStorage
  • 前端学习笔记之观察者模式
  • 深度学习中的信息论知识详解
  • 什么软件可以提取视频中的音频制作成手机铃声
  • 腾讯优测优分享 | 你是否体验过Android手机插入耳机后仍外放的尴尬?
  • 一个项目push到多个远程Git仓库
  • 一起来学SpringBoot | 第三篇:SpringBoot日志配置
  • 源码安装memcached和php memcache扩展
  • 源码之下无秘密 ── 做最好的 Netty 源码分析教程
  • ​​快速排序(四)——挖坑法,前后指针法与非递归
  • ​LeetCode解法汇总2808. 使循环数组所有元素相等的最少秒数
  • #设计模式#4.6 Flyweight(享元) 对象结构型模式
  • (6)STL算法之转换
  • (delphi11最新学习资料) Object Pascal 学习笔记---第8章第2节(共同的基类)
  • (ros//EnvironmentVariables)ros环境变量
  • (八)Flask之app.route装饰器函数的参数
  • (二十四)Flask之flask-session组件
  • (转)chrome浏览器收藏夹(书签)的导出与导入
  • (转)eclipse内存溢出设置 -Xms212m -Xmx804m -XX:PermSize=250M -XX:MaxPermSize=356m
  • .Net Core缓存组件(MemoryCache)源码解析
  • .Net Framework 4.x 程序到底运行在哪个 CLR 版本之上
  • .NET Windows:删除文件夹后立即判断,有可能依然存在
  • .NET/C# 在代码中测量代码执行耗时的建议(比较系统性能计数器和系统时间)...