#sql #database #go
#sql #База данных #Вперед
Вопрос:
Меня смущает документация, в func (db *DB) SetConnMaxLifetime(d time.Duration)
которой говорится:
SetConnMaxLifetime устанавливает максимальное время, в течение которого соединение может использоваться повторно.
Соединения с истекшим сроком действия могут быть закрыты лениво перед повторным использованием.
Означает ли это, что незанятые соединения закрываются d
по истечении срока действия или что соединения закрываются в любом случае (либо в режиме ожидания, либо нет) после d
истечения срока действия, как SetConnMaxLifetime
предполагает? Кроме того, что означает ленивое закрытие в этом случае и возможно ли реализовать тайм-аут с помощью этого метода?
Ответ №1:
Нет, sql.DB
не будет закрывать активное соединение. Очиститель работает только через пул бесплатных подключений.
Комментарии:
1. Спасибо за ответ. что это
be closed lazily
значит?2. @fitti: это означает, что его можно закрыть в любое время, не обязательно синхронно с возвратом соединения с пулом.