接口定义
NewRpcClient()
用于通过 RPC(Remote Procedure Call,远程过程调用)的请求方式创建一个向量数据库的客户端对象。NewClient()
为了兼容旧版本而保留,用于通过 HTTP I/O 请求方式创建一个向量数据库的客户端对象。说明:
Go SDK 为 1.3.2 及以上版本支持 RPC(Remote Procedure Call,远程过程调用)通信,在多线程场景,RPC 可以提供比 HTTP I/O 更好的并发请求能力。
func tcvectordb.NewRpcClient(url string, username string, key string, option *tcvectordb.ClientOption) (*tcvectordb.RpcClient, error)
func tcvectordb.NewClient(url string, username string, key string, option *tcvectordb.ClientOption) (*tcvectordb.Client, error)
请求示例
package mainimport ("time""github.com/tencent/vectordatabase-sdk-go/tcvectordb")func main() {// 初始化客户端var defaultOption = &tcvectordb.ClientOption{Timeout: 30 * time.Second,ReadConsistency: tcvectordb.EventualConsistency,}_, err := tcvectordb.NewRpcClient("http://10.0.X.X:80", "root", "eC4bLRy2va******************************", defaultOption)if err != nil {panic(err)}}
package mainimport ("time""github.com/tencent/vectordatabase-sdk-go/tcvectordb")func main() {// 初始化客户端var defaultOption = &tcvectordb.ClientOption{Timeout: 30 * time.Second,MaxIdldConnPerHost: 2,IdleConnTimeout: time.Minute,ReadConsistency: tcvectordb.EventualConsistency,}_, err := tcvectordb.NewClient("http://10.0.X.X:80", "root", "eC4bLRy2va******************************", defaultOption)if err != nil {panic(err)}}
请求参数
参数名称 | 子参数 | 参数含义 | 是否必选 | 获取方式 |
url | - | 客户端所需连接的向量数据库服务端访问地址。 | 是 | |
username | - | 客户端访问向量数据库服务端的账号。 | 是 | 数据库当前仅支持 root 账号。 |
key | - | 客户端访问向量数据库服务端的 API 密钥,用于进行身份认证。 | 是 | |
ClientOption | ReadConsistency
| 设置读一致性。 | 否 | 取值如下所示,默认为 EventualConsistency。 StrongConsistency:强一致性。 EventualConsistency:最终一致性。 |
| Timeout
| 请求超时时间。 | 否 | 单位:秒。 默认值:5。 取值范围:大于等于0。 |
| MaxIdldConnPerHost
|
最大的空闲连接数。
| 是 | 默认为 2。 取值范围:大于0,如配置为0,或小于0,则使用默认值。 |
| IdleConnTimeout
|
设置空闲连接的超时时间。
| | 默认值:不限制。 取值说明:大于0。如果配置为0,或者负数,表示不限制空闲连接的超时时间。 举例:time.Second*10。 |