1
我正在通過Psycopg Connections Pooling文檔,並不明白getconn和putconn中'key'參數的目的是什麼?psycopg連接池中'key'的含義是什麼?
我正在通過Psycopg Connections Pooling文檔,並不明白getconn和putconn中'key'參數的目的是什麼?psycopg連接池中'key'的含義是什麼?
細讀psycopg2(lib/pool.py
)的源代碼,你可以看到psycopg2.pool.AbstractConnectionPool
類有一個名爲_used
一個dict
屬性,其中池中的連接引用。 getconn
和putconn
方法中的key
參數是該字典中項目的關鍵。默認情況下,如果這些方法的參數key
的值爲None
,則連接對象的id
將用作密鑰。
基本上key
參數允許具體連接池類的實現者標識連接。例如,在psycopg2.pool.PersistentConnectionPool
類中,單個連接意味着在單個線程中共享,因此線程ID被用作鍵。