springboot整合couchbase集群的步骤

 更新时间:2025年03月31日 11:29:24   作者:风也温柔  
couchbase是一款开源的,分布式的nosql数据库,主要用于分布式缓存和数据存储领域,本文给大家介绍springboot整合couchbase集群的步骤,感兴趣的朋友一起看看吧

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内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • Linux配置jdk1.8与jdk17兼容并存并启动jar包指定jdk版本

    Linux配置jdk1.8与jdk17兼容并存并启动jar包指定jdk版本

    JDK是Java语言的软件开发工具包,主要用于移动设备、嵌入式设备上的java应用程序,这篇文章主要给大家介绍了关于Linux配置jdk1.8与jdk17兼容并存并启动jar包指定jdk版本的相关资料,需要的朋友可以参考下
    2024-08-08
  • SpringBoot读取excel表格的示例代码

    SpringBoot读取excel表格的示例代码

    这篇文章主要介绍了SpringBoot读取excel表格的示例代码,代码简单易懂,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-10-10
  • Spring 异常单元测试的解决

    Spring 异常单元测试的解决

    这篇文章主要介绍了Spring 异常单元测试的解决,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-06-06
  • Spring从@Aspect到Advisor使用演示实例

    Spring从@Aspect到Advisor使用演示实例

    这篇文章主要介绍了Spring从@Aspect到Advisor使用演示实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习吧
    2023-02-02
  • spring+Jpa多数据源配置的方法示例

    spring+Jpa多数据源配置的方法示例

    这篇文章主要介绍了spring+Jpa多数据源配置的方法示例,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-08-08
  • springboot实现简单的消息对话的示例代码

    springboot实现简单的消息对话的示例代码

    本文主要介绍了springboot实现简单的消息对话的示例代码,可以使用WebSocket技术,WebSocket是一种在客户端和服务器之间提供实时双向通信的协议,具有一定的参考价值,感兴趣的可以了解一下
    2023-09-09
  • 详解maven的setting配置文件中mirror和repository的区别

    详解maven的setting配置文件中mirror和repository的区别

    这篇文章主要介绍了详解maven的setting配置文件中mirror和repository的区别,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-12-12
  • 关于SpringBoot使用@ExceptionHandler注解局部异常处理

    关于SpringBoot使用@ExceptionHandler注解局部异常处理

    这篇文章主要介绍了关于SpringBoot使用@ExceptionHandler注解局部异常处理,SpringBoot提供了多种方式来处理异常,在本文中,我们将介绍SpringBoot中的@ExceptionHandler注解,演示如何使用它进行局部异常处理
    2023-07-07
  • Java设计模式以虹猫蓝兔的故事讲解装饰器模式

    Java设计模式以虹猫蓝兔的故事讲解装饰器模式

    装饰器模式又名包装(Wrapper)模式。装饰器模式以对客户端透明的方式拓展对象的功能,是继承关系的一种替代方案,本篇文章以虹猫蓝兔生动形象的为你带来详细讲解
    2022-04-04
  • springboot项目Redis统计在线用户的实现示例

    springboot项目Redis统计在线用户的实现示例

    最近做个项目需要统计在线用户,本文主要介绍了springboot项目Redis统计在线用户的实现示例,具有一定的参考价值,感兴趣的可以了解一下
    2024-06-06

最新评论