python三種數據庫連接池方式


psycopg2.pool – Connections pooling

Creating new PostgreSQL connections can be an expensive operation. This module offers a few pure Python classes implementing simple connection pooling directly in the client application.

class  psycopg2.pool. AbstractConnectionPool ( minconnmaxconn*args**kwargs )

Base class implementing generic key-based pooling code.

New minconn connections are created automatically. The pool will support a maximum of about maxconn connections. *args and **kwargsare passed to the connect() function.

The following methods are expected to be implemented by subclasses:

getconn ( key=None )

Get a free connection and assign it to key if not None.

putconn ( connkey=Noneclose=False )

Put away a connection.

If close is True, discard the connection from the pool.

closeall ( )

Close all the connections handled by the pool.

Note that all the connections are closed, including ones eventually in use by the application.

The following classes are AbstractConnectionPool subclasses ready to be used.

class  psycopg2.pool. SimpleConnectionPool ( minconnmaxconn*args**kwargs )

A connection pool that can’t be shared across different threads.

Note

 

This pool class is useful only for single-threaded applications.

class  psycopg2.pool. ThreadedConnectionPool ( minconnmaxconn*args**kwargs )

A connection pool that works with the threading module.

Note

 

This pool class can be safely used in multi-threaded applications.

class  psycopg2.pool. PersistentConnectionPool ( minconnmaxconn*args**kwargs )

A pool that assigns persistent connections to different threads.

Note that this connection pool generates by itself the required keys using the current thread id. This means that until a thread puts away a connection it will always get the same connection object by successive getconn() calls. This also means that a thread can’t use more than one single connection from the pool.

Note

 

This pool class is mostly designed to interact with Zope and probably not useful in generic applications.


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM