2

Query.Release()幕后做什么?这意味着“将查询返回池”是什么意思?什么时候Query.Get()应该用,什么时候用Query.GetRelease()

4

1 回答 1

2

正如您在文档https://godoc.org/github.com/gocql/gocql#Query中注意到的那样。释放它确实将查询释放回池中。当您不再想使用有问题的特定查询时,应该使用它。

如果您想提高性能,可以重用未发布的查询,因为您不需要执行任何在创建查询时总是发生的初始化。

究竟何时应该使用每个当然取决于您的情况,但一般原则如上所述。通常,您会defer q.Release()在创建查询后直接放置一个,但这取决于您的确切用例。

至于gocqlx.GetRelease()它在后台为您执行此操作,以提供一种非常方便和安全的查询和获取结果的方式,而无需处理清理工作。

于 2018-09-28T07:39:37.510 回答