1、couchbase
1.1、介绍


1.2、bucket
在 couchbase 中,bucket 是一个重要的概念,类似于传统数据库中的数据库或表。它是 couchbase 存储数据的基本单位,主要用于组织和管理数据。
- bucket 是 couchbase 中存储文档的容器。每个 bucket 可以包含多个文档,文档可以是 json 格式的数据。
1.3、couchbase sdk
- couchbase sdk(software development kit)是一个用于与 couchbase数据库进行交互的开发工具包。
- 它提供了一组 api 和工具,允许开发者通过编程语言(如 java、python 等)与couchbase数据库进行连接、数据操作、查询、集群管理等操作。
2、(key,value)写入couchbase集群
2.1、总体图

2.2、依赖
couchbase服务器的版本是4.0
<dependency>
<groupid>com.fasterxml.jackson.datatype</groupid>
<artifactid>jackson-datatype-jsr310</artifactid>
<version>2.13.0</version>
</dependency>
<dependency>
<groupid>com.couchbase.client</groupid>
<artifactid>java-client</artifactid>
<version>2.7.23</version>
</dependency>
<dependency>
<groupid>org.springframework.data</groupid>
<artifactid>spring-data-couchbase</artifactid>
<version>4.2.0</version>
</dependency>2.3、couchbaseconfig 配置文件
package com.baafs.amtiot.couchbase;
import com.baafs.amtiot.models.vehicleposition;
import com.couchbase.client.java.bucket;
import com.couchbase.client.java.couchbasecluster;
import com.couchbase.client.java.document.jsondocument;
import com.couchbase.client.java.document.json.jsonobject;
import com.fasterxml.jackson.datatype.jsr310.javatimemodule;
import com.fasterxml.jackson.databind.objectmapper;
public class couchbaseutils {
private static final objectmapper objectmapper = new objectmapper()
.registermodule(new javatimemodule());
public static void couchbasevehicleposition(string vmeid, vehicleposition vehicleposition) {
// 创建 cluster
// 连接 couchbase集群
//<couchbase> c#中couchbase集群配置文件,免密码登录
// 重点 ===== ip:端口:池 buckets
// <servers>
// <add uri="http://192.168.23.37:8091/pools" />
// <add uri="http://192.168.23.38:8091/pools" />
// </servers>
// <buckets>
// <add name="default" usessl="false">
// </add>
// </buckets>
//</couchbase>
// 1、自动选择端口(池):couchbasecluster.create() 会自动使用 8091 端口与集群进行通信,不需要显式指定端口号或 pools
///2、集群发现和负载均衡:couchbase sdk 会自动进行集群拓扑发现并且会自动负载均衡。
couchbasecluster cluster = couchbasecluster.create("192.168.23.37,192.168.23.38");
// 连接 bucket 并打开
bucket bucket = cluster.openbucket("default");
system.out.println("connected to bucket: " + bucket.name());
try {
// 将 vehicleposition 对象转换为 json
jsonobject content = jsonobject.fromjson(objectmapper.writevalueasstring(vehicleposition));
jsondocument inserted = bucket.upsert(jsondocument.create(vmeid, content));
// 确认插入成功,获取一下
system.out.println("document inserted with id: " + inserted.id());
// content
jsondocument found = bucket.get("sa21009005");
system.out.println("couchbase is the best database in the " + found.content().tostring());
} catch (exception e) {
system.out.println("error processing vehicle position: " + e.getmessage());
} finally {
cluster.disconnect();
}
}
}2.4、代码使用

到此这篇关于springboot整合couchbase集群的步骤的文章就介绍到这了,更多相关springboot整合couchbase内容请搜索代码网以前的文章或继续浏览下面的相关文章希望大家以后多多支持代码网!
发表评论