【问题标题】:gocql Query.Get() vs Query.GetRelease()gocql Query.Get() 与 Query.GetRelease()
【发布时间】:2018-09-28 16:44:15
【问题描述】:

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

【问题讨论】:

    标签: go cassandra scylla gocql


    【解决方案1】:

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

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

    具体什么时候应该使用当然取决于您的情况,但一般原则如上所述。通常,您会在创建查询后直接输入defer q.Release(),但这取决于您的具体用例。

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2022-07-25
      • 2016-06-28
      • 2017-08-12
      • 1970-01-01
      • 2015-03-17
      • 2018-03-24
      • 1970-01-01
      相关资源
      最近更新 更多