psycopg连接池中'key'的含义是什么?

时间:2012-10-19 08:00:55

标签: python connection-pooling psycopg2 psycopg

我正在浏览Psycopg Connections Pooling文档,并且不了解getconn和putconn中'key'参数的用途是什么?

1 个答案:

答案 0 :(得分:2)

仔细阅读 psycopg2 lib/pool.py)的源代码,您可以看到psycopg2.pool.AbstractConnectionPool类的dict属性名为_used,其中引用池中的连接。 keygetconn方法中的putconn参数是该字典中项目的关键。默认情况下,如果这些方法的key参数的值为None,则将连接对象的id用作密钥。

基本上key参数允许具体连接池类的实现者识别连接。例如,在psycopg2.pool.PersistentConnectionPool类中,单个连接意味着在单个线程中共享,因此线程ID用作密钥。