Couchbase
限定名称 | 类型 | 版本 |
---|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
安装依赖项
(已使用 CB Enterprise 5.5.3 测试)
Couchbase 过程依赖于 APOC 扩展库中未包含的客户端库。 此依赖项包含在 apoc-couchbase-dependencies-5.21.0-all.jar 中,可以从 发行页面 下载。 下载该文件后,应将其放置在 plugins
目录中,并重新启动 Neo4j 服务器。
或者,您可以从 Maven 存储库中复制到 plugins
目录,Couchbase Java SDK 和 Couchbase JVM Core IO
用法
要与 Couchbase 交互,您可以定义要连接到的主机作为过程的第一个参数(以 bucket 为第二个参数,document_id 为第三个参数)
CALL apoc.couchbase.get('couchbase://Administrator:password@localhost', 'default', 'artist:vincent_van_gogh')
否则,您可以使用与 MongoDB 相同的方式使用配置属性。 例如,您可以将以下属性添加到 apoc.conf 文件中
apoc.couchbase.mykey.username=Administrator apoc.couchbase.mykey.password=password apoc.couchbase.mykey.uri=host1,host2,host3 // here you can define more than one hostname if you're using a cluster apoc.couchbase.mykey.port=8091 // the bootstrapHttpDirectPort (optional)
CALL apoc.couchbase.get('mykey', 'default', 'artist:vincent_van_gogh')
您还可以定义一些 CouchbaseEnvironment 参数在 apoc.conf 中
apoc.couchbase.connectTimeout=<default=5000> apoc.couchbase.kvTimeout=<default=2500> apoc.couchbase.ioPoolSize=<default=3>
要深入了解这些配置参数的描述,请参阅 官方 Couchbase 文档
配置参数
这些过程支持以下配置参数
名称 | 类型 | 默认值 | 描述 |
---|---|---|---|
集合 |
字符串 |
"_default" |
要使用的集合。请参阅 范围和集合 |
范围 |
字符串 |
"_default" |
要使用的范围。请参阅 范围和集合 |
compressionEnabled |
布尔值 |
true |
如果启用,客户端会在将文档发送到 Couchbase Server 之前对其进行压缩。请参阅 此处. |
compressionMinSize |
整数 |
32 |
以字节为单位的大小。小于此大小的文档永远不会被压缩。 |
compressionMinRatio |
双精度浮点数 |
0.83 |
介于 0 和 1 之间的值。指定文档必须是“可压缩”的程度,以便将压缩形式发送到服务器。 |
mutationTokensEnabled |
布尔值 |
true |
变异令牌允许增强耐用性要求以及高级 N1QL 查询功能。如果您不需要这些功能并希望避免相关的开销,请将其设置为 false。 |
retryStrategy |
枚举[FAILFAST, BESTEFFORT] |
BESTEFFORT |
客户端的默认重试策略。重试策略决定是否应重试失败的操作。请参阅 此处. |
transcoder |
枚举[DEFAULT, RAWJSON, RAWSTRING, RAWBINARY] |
DEFAULT |
负责将 KV 二进制包转换为 Java 对象以及从 Java 对象转换的转码器。 |
connectTimeout |
长整型 |
null |
打开 Bucket 时使用的连接超时时间(以毫秒为单位)。如果为 null,将使用 |
kvTimeout |
长整型 |
null |
在对特定键执行的操作中使用的 Key/Value 默认超时时间(以毫秒为单位)。如果为 null,将使用 |
disconnectTimeout |
长整型 |
10000 |
断开连接超时时间(以毫秒为单位)用于断开 Cluster 的连接 |
queryTimeout |
长整型 |
75000 |
所有 N1QL 查询操作中使用的查询超时时间(以毫秒为单位) |
analyticsTimeout |
长整型 |
75000 |
所有 Analytics 查询操作中使用的 Analytics 超时时间(以毫秒为单位)。 |
viewTimeout |
长整型 |
75000 |
视图操作中使用的视图超时时间(以毫秒为单位)。如果请求期间出现节点故障,内部集群超时时间将设置为 60 秒。 |
searchTimeout |
长整型 |
75000 |
搜索超时时间用于所有 FTS 操作 |
configPollInterval |
长整型 |
2500 |
客户端获取集群拓扑信息以主动检测更改的间隔。 |
idleHttpConnectionTimeout |
长整型 |
4500 |
HTTP 连接在关闭并从池中删除之前可以保持空闲的时间长度。不建议使用超过 50 秒的持续时间,因为某些服务具有 1 分钟的服务器端空闲超时时间。 |
enableTcpKeepAlives |
布尔值 |
true |
如果启用,客户端会定期向服务器发送 TCP 保活信号,以防止防火墙和其他网络设备丢弃空闲的 TCP 连接。 |
tcpKeepAliveTime |
长整型 |
60000 |
触发 TCP 保活信号的空闲时间。 (如果 enableTcpKeepAlives 为 false,则此设置无效。)TODO |
enableDnsSrv |
布尔值 |
true |
从 DNS SRV 记录中获取引导节点列表。TODO |
networkResolution |
com.couchbase.client.core.env.NetworkResolution |
null |
网络解析。有关详细信息,请参阅 此处. |
trustCertificate |
布尔值 |
null |
如果非空,则为包含单个 X.509 证书的文件的路径,在建立安全连接时将其信任为证书颁发机构。如果存在,这将启用 Tls。有关详细信息,请参阅 此处. |
waitUntilReady |
长整型 |
null |
此方法将等待,直到集群状态默认情况下为“联机”,或达到超时时间。 |