gocql query.get()vs query.getrelease()

bjp0bcyl  于 2021-06-15  发布在  Cassandra
关注(0)|答案(1)|浏览(442)

是什么 Query.Release() 你在幕后工作吗?“将查询返回到池”是什么意思?什么时候 Query.Get() 应在何时使用 Query.GetRelease() ?

wr98u20j

wr98u20j1#

正如你在文件中注意到的https://godoc.org/github.com/gocql/gocql#query. 释放它确实会将查询释放回池中。当您不想再使用有问题的特定查询时,应该使用它。
如果您想提高查询的性能,可以重用未发布的查询,因为您不需要执行创建查询时总是发生的任何初始化。
确切地说,什么时候应该使用每种方法当然取决于你的情况,但一般原则如上所述。通常你会把 defer q.Release() 直接创建查询,但这取决于具体的用例。
至于 gocqlx.GetRelease() 它为您提供了一种非常方便和安全的方式来查询和获取结果,而无需处理清理。

相关问题