springboot整合couchbase集群的步驟
1、Couchbase
1.1、介紹
1.2、Bucket
在 Couchbase 中,bucket 是一個(gè)重要的概念,類似于傳統(tǒng)數(shù)據(jù)庫(kù)中的數(shù)據(jù)庫(kù)或表。它是 Couchbase 存儲(chǔ)數(shù)據(jù)的基本單位,主要用于組織和管理數(shù)據(jù)。
- Bucket 是 Couchbase 中存儲(chǔ)文檔的容器。每個(gè) bucket 可以包含多個(gè)文檔,文檔可以是 JSON 格式的數(shù)據(jù)。
1.3、Couchbase SDK
- Couchbase SDK(Software Development Kit)是一個(gè)用于與 Couchbase數(shù)據(jù)庫(kù)進(jìn)行交互的開發(fā)工具包。
- 它提供了一組 API 和工具,允許開發(fā)者通過(guò)編程語(yǔ)言(如 Java、Python 等)與Couchbase數(shù)據(jù)庫(kù)進(jìn)行連接、數(shù)據(jù)操作、查詢、集群管理等操作。
2、(key,value)寫入couchbase集群
2.1、總體圖
2.2、依賴
couchbase服務(wù)器的版本是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) { // 創(chuàng)建 cluster // 連接 couchbase集群 //<couchbase> C#中couchbase集群配置文件,免密碼登錄 // 重點(diǎn) ===== 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、自動(dòng)選擇端口(池):CouchbaseCluster.create() 會(huì)自動(dòng)使用 8091 端口與集群進(jìn)行通信,不需要顯式指定端口號(hào)或 pools ///2、集群發(fā)現(xiàn)和負(fù)載均衡:Couchbase SDK 會(huì)自動(dòng)進(jìn)行集群拓?fù)浒l(fā)現(xiàn)并且會(huì)自動(dòng)負(fù)載均衡。 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 對(duì)象轉(zhuǎn)換為 JSON JsonObject content = JsonObject.fromJson(objectMapper.writeValueAsString(vehiclePosition)); JsonDocument inserted = bucket.upsert(JsonDocument.create(vmeid, content)); // 確認(rèn)插入成功,獲取一下 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、代碼使用
到此這篇關(guān)于springboot整合couchbase集群的步驟的文章就介紹到這了,更多相關(guān)springboot整合couchbase內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
- springboot連接kafka集群的使用示例
- springboot集成redis哨兵集群的實(shí)現(xiàn)示例
- docker搭建redis哨兵集群并且整合springboot的實(shí)現(xiàn)
- Redis6搭建集群并在SpringBoot中使用RedisTemplate的實(shí)現(xiàn)
- SpringBoot連接Nacos集群報(bào)400問(wèn)題及完美解決方法
- SpringBoot中RabbitMQ集群的搭建詳解
- 關(guān)于Springboot2.x集成lettuce連接redis集群報(bào)超時(shí)異常Command timed out after 6 second(s)
- springboot整合redis集群過(guò)程解析
相關(guān)文章
Linux配置jdk1.8與jdk17兼容并存并啟動(dòng)jar包指定jdk版本
JDK是Java語(yǔ)言的軟件開發(fā)工具包,主要用于移動(dòng)設(shè)備、嵌入式設(shè)備上的java應(yīng)用程序,這篇文章主要給大家介紹了關(guān)于Linux配置jdk1.8與jdk17兼容并存并啟動(dòng)jar包指定jdk版本的相關(guān)資料,需要的朋友可以參考下2024-08-08Spring從@Aspect到Advisor使用演示實(shí)例
這篇文章主要介紹了Spring從@Aspect到Advisor使用演示實(shí)例,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)吧2023-02-02spring+Jpa多數(shù)據(jù)源配置的方法示例
這篇文章主要介紹了spring+Jpa多數(shù)據(jù)源配置的方法示例,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2018-08-08springboot實(shí)現(xiàn)簡(jiǎn)單的消息對(duì)話的示例代碼
本文主要介紹了springboot實(shí)現(xiàn)簡(jiǎn)單的消息對(duì)話的示例代碼,可以使用WebSocket技術(shù),WebSocket是一種在客戶端和服務(wù)器之間提供實(shí)時(shí)雙向通信的協(xié)議,具有一定的參考價(jià)值,感興趣的可以了解一下2023-09-09詳解maven的setting配置文件中mirror和repository的區(qū)別
這篇文章主要介紹了詳解maven的setting配置文件中mirror和repository的區(qū)別,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2018-12-12關(guān)于SpringBoot使用@ExceptionHandler注解局部異常處理
這篇文章主要介紹了關(guān)于SpringBoot使用@ExceptionHandler注解局部異常處理,SpringBoot提供了多種方式來(lái)處理異常,在本文中,我們將介紹SpringBoot中的@ExceptionHandler注解,演示如何使用它進(jìn)行局部異常處理2023-07-07Java設(shè)計(jì)模式以虹貓藍(lán)兔的故事講解裝飾器模式
裝飾器模式又名包裝(Wrapper)模式。裝飾器模式以對(duì)客戶端透明的方式拓展對(duì)象的功能,是繼承關(guān)系的一種替代方案,本篇文章以虹貓藍(lán)兔生動(dòng)形象的為你帶來(lái)詳細(xì)講解2022-04-04springboot項(xiàng)目Redis統(tǒng)計(jì)在線用戶的實(shí)現(xiàn)示例
最近做個(gè)項(xiàng)目需要統(tǒng)計(jì)在線用戶,本文主要介紹了springboot項(xiàng)目Redis統(tǒng)計(jì)在線用戶的實(shí)現(xiàn)示例,具有一定的參考價(jià)值,感興趣的可以了解一下2024-06-06