Red de conocimiento informático - Material del sitio web - Cómo implementar el grupo de conexiones MySQL en Python y agregar la función de caducidad de caché

Cómo implementar el grupo de conexiones MySQL en Python y agregar la función de caducidad de caché

importar MySQLdb

hora de importación

cadena de importación

importar redis

clase PooledConnection:

#Construir una conexión Ejemplo de grupo

def __init __(self, maxconnections, connstr,dbtype):

from Queue import Queue

self._pool = Queue(maxconnections) #Create cola

self.connstr = connstr

self._pool = Cola(maxconnections)_pool = Cola(maxconnections) # Crear cola

self.connstr = connstr

p>

self.dbtype=dbtype

self.maxconnections=maxconnections

# Cree un enlace con la cantidad de enlaces que proporcionó y escríbalo en la cola justo creado.

intente:

para i en el rango (maxconnections):

self.fillConnection(self.CreateConnection(connstr,dbtype))

excepto excepción, e:

elevar e

def fillConnection(self,conn):

intentar:

self._pool. put(conn)

excepto excepción, e:

def fillConnection(self,conn).> plantea "fillConnection error:"+str(e)

def returnConnection(self, conn):

prueba:

self._pool.put(conn)

excepto excepción,e:

generar "error de conexión de retorno:"+str(e)

def getConnection(self):

intentar:

devolver self._pool.get()

excepto excepción, e:

plantear "getConnection error:"+str(e)

def ColseConnection(self,conn):

intente:

self._pool.get().

self.fillConnection(self.CreateConnection(connstr,dbtype))

excepto excepción, e:

plantea "Error de cierre de conexión:"+str(e)

def CreateConnection(self,connstr,dbtype):

if dbtype=='xxx':

pase

elif dbtype=='mysql':

intente:

db_conn = connstr.split("#");

#conndb=MySQLdb.connect(db=conf.mydb,host=conf.dbip,user=conf.myuser,passwd=conf.mypasswd);

conndb=MySQLdb. conectar(usuario=db_conndb,host=conf.dbip,usuario=conf.miusuario,passwd=conf.connect(usuario=db_conn[0],passwd=db_conn[1],host=db_conn[2],puerto=string.atoi (db_conn[3]),db=db_conn[ 4]);

conndb.clientinfo = 'grupo de conexiones de sincronización de datos de datasync.py';

conndb.ping(); /p>

excepto excepción, e:

elevar ' conn fuente de datos targetdb Exceptos,%s!!!!! (%s).'%(db

_conn[2],str(e))

Devolver Ninguno

#mysql Cree un grupo de conexiones de la siguiente manera:

connstring="xiaorui.cc#xiaoru .cc#xiaorui.cc#3306#dbname";

mysqlpool=PooledConnection(10,connstring, "mysql");

#GetConnection:

mysqlpool .getConnection()

Mysqlpool.