Psycopg Connections Pooling 설명서를 진행할 때 getconn 및 putconn의 'key'인수의 목적이 무엇인지 이해하지 못합니까?psycopg 연결 풀링에서 '키'의 의미는 무엇입니까?
1
A
답변
2
당신이 psycopg2.pool.AbstractConnectionPool
클래스는 풀의 연결이 참조하는 _used
라는 dict
속성을 가지고 있음을 알 수 psycopg2 (lib/pool.py
)의 소스 코드를 정독. getconn
및 putconn
메서드의 key
매개 변수는 해당 사전의 항목에 대한 키입니다. 기본적으로이 메서드의 key
매개 변수 값이 None
인 경우 연결 개체의 id
이 키로 사용됩니다.
기본적으로 key
매개 변수를 사용하면 구체적인 연결 풀 클래스 구현자가 연결을 식별 할 수 있습니다. 예를 들어, psycopg2.pool.PersistentConnectionPool
클래스에서는 단일 연결이 단일 스레드에서 공유되도록되어 있으므로 스레드 ID가 키로 사용됩니다.