gocql Query.Get () против Query.GetRelease () - PullRequest
0 голосов
/ 27 сентября 2018

Что Query.Release() делает за сценой?Что это значит «вернуть запрос обратно в пул»?Когда следует использовать Query.Get(), а когда Query.GetRelease()?

1 Ответ

0 голосов
/ 28 сентября 2018

Как вы заметили в документах https://godoc.org/github.com/gocql/gocql#Query. Release, запрос действительно возвращается в пул.Его следует использовать, когда вы больше не хотите использовать конкретный запрос.

Неизданный запрос можно использовать повторно, если вы хотите сделать его более производительным, поскольку вам не нужно выполнять какую-либо инициализацию,всегда происходит при создании запроса.

Точно, когда каждый из них должен использоваться, конечно, зависит от вашего случая, но общий принцип такой же, как и выше.Обычно вы бы ставили defer q.Release() сразу после создания запроса, но это зависит от вашего точного варианта использования.

Что касается gocqlx.GetRelease(), то он делает это для вас под капотом, чтобы обеспечить очень удобный и безопасный способзапросить и получить результат без необходимости выполнять очистку.

...