Python MySQL 连接池

原创 2017年08月31日 23:12:15

Config.py

DB_HOST_1="192.167.121.151";
DB_HOST_2="192.167.121.152";
DB_HOST_3="192.167.121.153";
DB_HOST_4="192.167.121.154";
DB_HOST_5="192.167.121.155";
DB_HOST_6="192.167.121.156";
DB_HOST_7="192.167.121.157";
DB_HOST_8="192.167.121.158";
DB_PORT=3306;
DB_NAME="ys_api";
DB_USER="root";
DB_PWD="pwdtest";
DB_CHAR="utf8mb4";
DB_MIN_CACHED=200;
DB_MAX_CACHED=200;
DB_MAX_SHARED=3000;
DB_MAX_CONNECYIONS=10000;
DB_BLOCKING=True;
DB_MAX_USAGE=0;
DB_SET_SESSION=None;

MySQLConn.py

import MySQLdb
from MySQLdb.cursors import DictCursor
from DBUtils.PooledDB import PooledDB

import Config
#print 'class'
class MySQLConn(object):
        __pool = None
        def __init__(self):
                #for i in range(0):
                self._conn_151=MySQLConn.__getConn(self,Config.DB_HOST_1)
                self._conn_152=MySQLConn.__getConn(self,Config.DB_HOST_2)
                self._conn_153=MySQLConn.__getConn(self,Config.DB_HOST_3)
                self._conn_154=MySQLConn.__getConn(self,Config.DB_HOST_4)
                self._conn_155=MySQLConn.__getConn(self,Config.DB_HOST_5)
                self._conn_156=MySQLConn.__getConn(self,Config.DB_HOST_6)
                self._conn_157=MySQLConn.__getConn(self,Config.DB_HOST_7)
                self._conn_158=MySQLConn.__getConn(self,Config.DB_HOST_8)
                self._conn_base=MySQLConn.__getConn(self,Config.DB_HOST_8)
                #ip='192.167.121.15'+str(i+1)
                #self._conn = MySQLConn.__getConn(ip)
                #self._cursor = self._conn.cursor()



        @staticmethod
        def __getConn(self,ip):
                if MySQLConn.__pool is None:
                        #print ip,Config.DB_PORT,Config.DB_USER,Config.DB_PWD,Config.DB_CHAR
                        #__pool = PooledDB(creator=MySQLdb,mincached=1,maxcached=30,maxusage=Config.DB_MAX_USAGE,host=ip,port=Config.DB_PORT,user=Config.DB_USER,passwd=Config.DB_PWD,db=Config.DB_NAME,use_unicode=False,charset=Config.DB_CHAR,cursorclass=DictCursor,maxusage=10000) 
                        __pool = PooledDB(creator=MySQLdb,mincached=1,maxcached=10,maxusage=Config.DB_MAX_USAGE,host=ip,port=Config.DB_PORT,user=Config.DB_USER,passwd=Config.DB_PWD,db=Config.DB_NAME,use_unicode=False,charset=Config.DB_CHAR,cursorclass=DictCursor)
                return __pool.connection()

        desc='this is mysql pool !'
        def dispose(self,isEnd=1):
                if isEnd==1:
                    self.end('commit')
                else:
                    self.end('rollback');
                self._cursor.close()
                self._conn.close()

python DbUtils 封装

python DbUtils 封装1.python dbutils 说明:DBUtils是一套Python数据库连接池包,并允许对非线程安全的数据库接口进行线程安全包装。DBUtils来自Webwar...

DBUtils 用户指南

版本: 0.9.4 发行版: 07/07/07...
  • joliny
  • joliny
  • 2008年06月19日 17:56
  • 897

python学习---3(DBUtils.PooledDB)

#-*- coding: utf-8 -*- """ 数据库管理类 """ import MySQLdb from DBUtils.PooledDB import PooledDB #自定义的配置文件...

Python实现Mysql数据库连接池

python连接Mysql数据库: Python编程中可以使用MySQLdb进行数据库的连接及诸如查询/插入/更新等操作,但是每次连接MySQL数据库请求时,都是独立的去请求访问,相当浪费资源,...

Python HashCode 分库分表逻辑

def longToInt(value): assert isinstance(value, (int, long)) return int(value & sys.m...
  • mchdba
  • mchdba
  • 2017年08月31日 23:14
  • 573

puppet 命令详解

puppet master 主要命令 --daemonize         // -D 发送到后台守护进程,默认选项 --no-daemonize   // 不发送到后台守护进程 --debu...

python mysql使用连接池的通用操作类

以前用MySQLdb和PooledDB写过一个后来找不到了,现在重新写一个。因为PooledDB似乎是不支持python3的,所以我这里使用的是mysql官方的连接器mysql.connector.p...

Python实现Mysql数据库连接池

python连接Mysql数据库: python编程中可以使用MySQLdb进行数据库的连接及诸如查询/插入/更新等操作,但是每次连接mysql数据库请求时,都是独立的去请求访问,相当浪费资源,而且...

Python--Mysql连接池使用案例

1、工程结构 2、Config.py # coding:utf-8 ''''' Created on 2016年5月7日 @author: baocheng ''' DBHOST ...

Python学习一:基于DBUtils和pymysql的MySQL数据库连接池封装

Python安装及配置略,本文前默认已经配置好Python环境。 打开cmd,输入python,出现以下画面表示Python安装成功。 需要库1、DBUtils 下载地址:DBUtils ...
  • cyh1111
  • cyh1111
  • 2016年11月25日 17:37
  • 4149
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Python MySQL 连接池
举报原因:
原因补充:

(最多只允许输入30个字)