1

我正在浏览Psycopg Connections Pooling文档,但不明白 getconn 和 putconn 中“key”参数的目的是什么?

4

1 回答 1

2

仔细阅读psycopg2 ( )的源代码,lib/pool.py您可以看到psycopg2.pool.AbstractConnectionPool该类有一个dict名为_usedwhere 池中的连接被引用的属性。和方法中的key参数是该字典中项目的键。默认情况下,如果这些方法的参数值是连接对象的,则作为键。getconnputconnkeyNoneid

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

于 2012-10-19T08:33:09.023 回答