当前位置: 首页 > article >正文

springboot整合couchbase(集群)

springboot整合couchbase

  • 1、Couchbase
    • 1.1、介绍
    • 1.2、Bucket
    • 1.3、Couchbase SDK
  • 2、(key,value)写入couchbase集群
    • 2.1、总体图
    • 2.2、依赖
    • 2.3、CouchbaseConfig 配置文件
    • 2.4、代码使用

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、代码使用

在这里插入图片描述


http://www.kler.cn/a/610680.html

相关文章:

  • 微信小程序学习
  • rebot命令和基本用法
  • Python 状态模式
  • 【Nature顶刊级科研绘图】DeepSeek、ChatGPT等大语言模型绘图(如何画图、如何标注、如何改图、如何美化、如何组合、如何排序)
  • SQL Server 中常见的数据类型及其详细解释、内存占用和适用场景
  • 【Android】Activity 生命周期(详细介绍)
  • PostgreSQL详解
  • 使用MyBatis Plus的QueryWrapper实现复杂的SQL查询
  • VS Code 中 .history`文件的来源与 .gitignore`的正确使用
  • Docker Compose 管理Docker容器
  • Nginx实现动静分离配置
  • 基于赛灵思 Xilinx RFSoC 的 VPX 6U 高速数据采集模块技术讨论
  • 计算机网络——数据链路层的功能
  • 如何使用Jsoup解析1688商品详细信息?
  • 音视频 一 看书的笔记 基础视频知识
  • Elasticsearch:构建 AI 驱动的搜索体验
  • Vue3企业级项目标准化规范
  • 循环查询指定服务器开放端口(Python)
  • ubuntu下终端打不开的排查思路和解决方法
  • 李泽湘和中国硬科技创新十年 | 媒体报道