python3.0 django mysql连接池说明

来源:互联网 发布:好收益网络贷款 编辑:程序博客网 时间:2024/05/16 16:57

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

import loggingfrom django.db import connectionLOG = 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 retdef fetchone(sql,params=[]):    cursor =connection.cursor()    cursor.execute(sql,params)    ret =  dictfetone(cursor)    cursor.close()    return retdef 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/

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

0 0
原创粉丝点击