Docker desktop安裝Redis Cluster集群

本文章將介紹如何在 Windows 系統的 Docker Desktop 環境中搭建 Redis 集群。將創建一個包含 6 個節點(3 主 3 從)的 Redis 集群。

環境準備

  • Windows 10/11 操作系統
  • Docker Desktop 已安裝并運行

步驟

清理環境(如之前有嘗試)

如果之前已經嘗試過創建 Redis 集群,請先執行清理操作:

# 停止并刪除所有 Redis 容器
docker stop redis-7001 redis-7002 redis-7003 redis-7004 redis-7005 redis-7006 2>$null
docker rm redis-7001 redis-7002 redis-7003 redis-7004 redis-7005 redis-7006 2>$null# 刪除網絡
docker network rm redis-cluster-net 2>$null# 刪除本地目錄和配置文件
Remove-Item -Recurse -Force ~/redis-cluster 2>$null# 確認清理完成
docker ps -a | Select-String "redis-7"
docker network ls | Select-String "redis-cluster-net"

創建 Docker 網絡

docker network create redis-cluster-net

創建目錄結構

# 創建主目錄
mkdir ~/redis-cluster
cd ~/redis-cluster# 為每個節點創建目錄
foreach ($port in @(7001, 7002, 7003, 7004, 7005, 7006)) {New-Item -ItemType Directory -Path "$port/conf" -ForceNew-Item -ItemType Directory -Path "$port/data" -Force
}

創建 Redis 配置文件

foreach ($port in @(7001, 7002, 7003, 7004, 7005, 7006)) {$confContent = @"
port $port
cluster-enabled yes
cluster-config-file nodes.conf
cluster-node-timeout 5000
appendonly yes
protected-mode no
bind 0.0.0.0
"@Set-Content -Path "$port/conf/redis.conf" -Value $confContent
}

啟動 Redis 容器

# Redis 7001
docker run -d --name redis-7001 -p 7001:7001 -p 17001:17001 -v ${PWD}/7001/conf/redis.conf:/etc/redis/redis.conf -v ${PWD}/7001/data:/data --network redis-cluster-net redis:latest redis-server /etc/redis/redis.conf# Redis 7002
docker run -d --name redis-7002 -p 7002:7002 -p 17002:17002 -v ${PWD}/7002/conf/redis.conf:/etc/redis/redis.conf -v ${PWD}/7002/data:/data --network redis-cluster-net redis:latest redis-server /etc/redis/redis.conf# Redis 7003
docker run -d --name redis-7003 -p 7003:7003 -p 17003:17003 -v ${PWD}/7003/conf/redis.conf:/etc/redis/redis.conf -v ${PWD}/7003/data:/data --network redis-cluster-net redis:latest redis-server /etc/redis/redis.conf# Redis 7004
docker run -d --name redis-7004 -p 7004:7004 -p 17004:17004 -v ${PWD}/7004/conf/redis.conf:/etc/redis/redis.conf -v ${PWD}/7004/data:/data --network redis-cluster-net redis:latest redis-server /etc/redis/redis.conf# Redis 7005
docker run -d --name redis-7005 -p 7005:7005 -p 17005:17005 -v ${PWD}/7005/conf/redis.conf:/etc/redis/redis.conf -v ${PWD}/7005/data:/data --network redis-cluster-net redis:latest redis-server /etc/redis/redis.conf# Redis 7006
docker run -d --name redis-7006 -p 7006:7006 -p 17006:17006 -v ${PWD}/7006/conf/redis.conf:/etc/redis/redis.conf -v ${PWD}/7006/data:/data --network redis-cluster-net redis:latest redis-server /etc/redis/redis.conf

檢查容器狀態

docker ps

如下圖所示
在這里插入圖片描述

初始化 Redis 集群

docker exec -it redis-7001 redis-cli --cluster create redis-7001:7001 redis-7002:7002 redis-7003:7003 redis-7004:7004 redis-7005:7005 redis-7006:7006 --cluster-replicas 1

當提示時輸入 yes 確認配置。

驗證集群狀態

docker exec -it redis-7001 redis-cli -c -p 7001 cluster nodes

如下圖所示 :
在這里插入圖片描述

測試集群功能

docker exec -it redis-7001 redis-cli -c -p 7001

測試Redis是否可用,可用則搭建成功 !


在這里插入圖片描述

在 Redis CLI 中執行:

set test1 "hello"
set test2 "world"
get test1
get test2

簡化版本(3 節點集群)

如果您只需要 3 個主節點(沒有從節點),可以只創建 7001-7003,然后在初始化集群時使用以下命令:

docker exec -it redis-7001 redis-cli --cluster create redis-7001:7001 redis-7002:7002 redis-7003:7003 --cluster-replicas 0

使用

要停止集群,可以使用 docker stop 命令停止所有容器。要重新啟動,只需使用 docker start 命令啟動容器,集群會自動恢復。

常見問題解決

  1. 端口沖突:確保 7001-7006 以及 17001-17006 端口沒有被其他程序占用
  2. 權限問題:如果遇到文件權限問題,嘗試以管理員身份運行 PowerShell
  3. 容器啟動失敗:檢查 Docker Desktop 是否正常運行,并確保有足夠的內存分配

高級功能

密碼認證配置

修改配置文件

  • your_secure_password_here 更換為自己的密碼
foreach ($port in @(7001, 7002, 7003, 7004, 7005, 7006)) {$confContent = @"
port $port
cluster-enabled yes
cluster-config-file nodes.conf
cluster-node-timeout 5000
appendonly yes
protected-mode no
bind 0.0.0.0
requirepass your_secure_password_here
masterauth your_secure_password_here
"@Set-Content -Path "$port/conf/redis.conf" -Value $confContent
}

啟動帶認證的容器

# 示例:Redis 7001 帶認證
docker run -d --name redis-7001 -p 7001:7001 -p 17001:17001 `-v ${PWD}/7001/conf/redis.conf:/etc/redis/redis.conf `-v ${PWD}/7001/data:/data `--network redis-cluster-net `redis:latest redis-server /etc/redis/redis.conf

初始化帶認證的集群

docker exec -it redis-7001 redis-cli -a your_secure_password_here --cluster create `redis-7001:7001 redis-7002:7002 redis-7003:7003 `redis-7004:7004 redis-7005:7005 redis-7006:7006 `--cluster-replicas 1

持久化配置優化

AOF 和 RDB 混合持久化

foreach ($port in @(7001, 7002, 7003, 7004, 7005, 7006)) {$confContent = @"
port $port
cluster-enabled yes
cluster-config-file nodes.conf
cluster-node-timeout 5000
appendonly yes
appendfsync everysec
auto-aof-rewrite-percentage 100
auto-aof-rewrite-min-size 64mb
save 900 1
save 300 10
save 60 10000
rdbcompression yes
rdbchecksum yes
dbfilename dump.rdb
dir /data
protected-mode no
bind 0.0.0.0
requirepass your_secure_password_here
masterauth your_secure_password_here
"@Set-Content -Path "$port/conf/redis.conf" -Value $confContent
}

內存管理和淘汰策略

foreach ($port in @(7001, 7002, 7003, 7004, 7005, 7006)) {$confContent = @"
port $port
cluster-enabled yes
cluster-config-file nodes.conf
cluster-node-timeout 5000
appendonly yes
maxmemory 1gb
maxmemory-policy volatile-lru
protected-mode no
bind 0.0.0.0
requirepass your_secure_password_here
masterauth your_secure_password_here
"@Set-Content -Path "$port/conf/redis.conf" -Value $confContent
}

監控和慢查詢日志

foreach ($port in @(7001, 7002, 7003, 7004, 7005, 7006)) {$confContent = @"
port $port
cluster-enabled yes
cluster-config-file nodes.conf
cluster-node-timeout 5000
appendonly yes
slowlog-log-slower-than 10000
slowlog-max-len 128
latency-monitor-threshold 100
protected-mode no
bind 0.0.0.0
requirepass your_secure_password_here
masterauth your_secure_password_here
"@Set-Content -Path "$port/conf/redis.conf" -Value $confContent
}

集群管理和監控工具

安裝 redis-cli 工具

# 在 Windows 上安裝 Redis CLI
choco install redis-64

使用 RedisInsight 進行可視化監控

  1. 下載并安裝 RedisInsight
  2. 連接到集群中的任意節點
  3. 查看集群狀態、內存使用情況、慢查詢等

使用命令行工具監控集群

# 查看集群信息
docker exec -it redis-7001 redis-cli -c -p 7001 -a your_secure_password_here cluster info# 查看節點信息
docker exec -it redis-7001 redis-cli -c -p 7001 -a your_secure_password_here cluster nodes# 查看內存使用情況
docker exec -it redis-7001 redis-cli -c -p 7001 -a your_secure_password_here info memory# 查看持久化信息
docker exec -it redis-7001 redis-cli -c -p 7001 -a your_secure_password_here info persistence

備份和恢復策略

創建備份腳本

# backup-redis.ps1
$date = Get-Date -Format "yyyyMMdd"
$backupDir = "~/redis-backups/$date"New-Item -ItemType Directory -Path $backupDir -Forceforeach ($port in @(7001, 7002, 7003, 7004, 7005, 7006)) {docker exec redis-$port redis-cli -a your_secure_password_here saveCopy-Item -Path "~/redis-cluster/$port/data/dump.rdb" -Destination "$backupDir/dump-$port.rdb"Copy-Item -Path "~/redis-cluster/$port/data/appendonly.aof" -Destination "$backupDir/appendonly-$port.aof"
}Write-Host "Backup completed to $backupDir"

創建恢復腳本

# restore-redis.ps1
param([Parameter(Mandatory=$true)][string]$backupDate
)$backupDir = "~/redis-backups/$backupDate"if (-not (Test-Path $backupDir)) {Write-Error "Backup directory $backupDir does not exist"exit 1
}foreach ($port in @(7001, 7002, 7003, 7004, 7005, 7006)) {docker stop redis-$portRemove-Item -Path "~/redis-cluster/$port/data/dump.rdb" -Force -ErrorAction SilentlyContinueRemove-Item -Path "~/redis-cluster/$port/data/appendonly.aof" -Force -ErrorAction SilentlyContinueCopy-Item -Path "$backupDir/dump-$port.rdb" -Destination "~/redis-cluster/$port/data/dump.rdb"Copy-Item -Path "$backupDir/appendonly-$port.aof" -Destination "~/redis-cluster/$port/data/appendonly.aof"docker start redis-$port
}Write-Host "Restore completed from $backupDir"

Redis 性能優化

foreach ($port in @(7001, 7002, 7003, 7004, 7005, 7006)) {$confContent = @"
port $port
cluster-enabled yes
cluster-config-file nodes.conf
cluster-node-timeout 5000
appendonly yes
appendfsync everysec
auto-aof-rewrite-percentage 100
auto-aof-rewrite-min-size 64mb
maxmemory 2gb
maxmemory-policy allkeys-lru
maxclients 10000
tcp-backlog 511
timeout 0
tcp-keepalive 300
protected-mode no
bind 0.0.0.0
requirepass your_secure_password_here
masterauth your_secure_password_here
"@Set-Content -Path "$port/conf/redis.conf" -Value $confContent
}

配置解釋

  1. port $port

    • 作用:指定 Redis 實例監聽的端口號。
    • 說明:在循環中,$port 變量會被替換為 7001, 7002 等,確保每個容器使用獨立的端口。
  2. cluster-enabled yes

    • 作用:啟用 Redis 的集群模式。
    • 說明:這是將 Redis 實例轉變為集群節點的最關鍵配置,沒有它,節點只會以單機模式運行。
  3. cluster-config-file nodes.conf

    • 作用:指定集群自動生成的配置文件名稱。
    • 說明:Redis 集群運行時會自動維護這個文件,記錄集群的狀態、節點信息、持久化變量等。用戶不應手動修改此文件
  4. cluster-node-timeout 5000

    • 作用:設置集群節點不可用的超時時間(毫秒)。
    • 說明:如果一個節點在 5000ms(5秒)內無法響應,它將被其他節點視為故障節點,并觸發主從切換(failover)。這個值需要根據網絡狀況調整,太短可能導致不必要的故障轉移,太長則會影響故障恢復速度。
  5. appendonly yes

    • 作用:啟用 AOF(Append Only File)持久化模式。
    • 說明:相比于默認的 RDB 快照,AOF 通過記錄 every 寫操作命令來持久化數據,能提供更好的數據安全性,通常最多丟失 1 秒的數據(取決于 appendfsync 配置)。
  6. appendfsync everysec

    • 作用:控制 AOF 文件同步到磁盤的頻率。
    • 說明
      • everysec(推薦):每秒同步一次。在性能和數據安全性之間取得了很好的平衡,即使故障,最多丟失 1 秒的數據。
      • always:每個寫命令都同步。最安全,但性能最差。
      • no:由操作系統決定何時同步。性能最好,但可能丟失較多數據。
  7. auto-aof-rewrite-percentage 100

    • 作用:與下一項配合,觸發 AOF 文件重寫(rewrite)的條件之一。
    • 說明:當當前 AOF 文件大小比上一次重寫后的大小增長了 100%(即翻了一倍)時,會觸發重寫。
  8. auto-aof-rewrite-min-size 64mb

    • 作用:觸發 AOF 文件重寫的另一個條件。
    • 說明:AOF 文件至少要達到 64MB 才會觸發重寫。這個配置防止文件很小的時候就頻繁重寫。
    • 兩者關系必須同時滿足“增長百分比達到 100%” “文件大小超過 64MB” 才會觸發重寫。重寫可以壓縮 AOF 文件,移除冗余命令。
  9. maxmemory 2gb

    • 作用:設置 Redis 實例可使用的最大內存容量。
    • 說明這是防止 Redis 占用所有系統內存、導致系統崩潰的關鍵配置! 你必須根據你的 Docker 容器內存限制和宿主機總內存來設置這個值(例如,設置為容器內存限制的 80-90%)。2gb 只是一個示例值。
  10. maxmemory-policy allkeys-lru

    • 作用:定義當內存使用達到 maxmemory 限制時,Redis 的鍵淘汰策略(eviction policy)。
    • 說明allkeys-lru 意味著當內存不足時,Redis 會嘗試移除所有鍵中最近最少使用(LRU)的鍵,以騰出空間。
    • 其他常見策略
      • volatile-lru:只從設置了過期時間的鍵中移除最近最少使用的鍵。
      • allkeys-random:隨機移除所有鍵。
      • noeviction(默認):不淘汰任何鍵,在寫操作時返回錯誤。生產環境通常不推薦
  11. maxclients 10000

    • 作用:設置同一時間最大客戶端連接數。
    • 說明:默認是 10000。如果達到此限制,Redis 會拒絕新的連接。需要根據系統資源和應用需求調整。
  12. tcp-backlog 511

    • 作用:設置 TCP 連接隊列的長度。
    • 說明:在高連接速率環境下,增大這個值可以幫助處理連接高峰。需要同時調整系統的 /proc/sys/net/core/somaxconn 值(在 Docker 中可能需要通過 sysctls 參數設置)。
  13. timeout 0

    • 作用:客戶端空閑 N 秒后關閉連接(0 表示禁用)。
    • 說明:設置為 0 意味著連接將始終保持打開,除非客戶端主動斷開。這適用于需要長連接的場景,避免了頻繁創建連接的開銷。
  14. tcp-keepalive 300

    • 作用:向客戶端發送 TCP ACK 保活探測的間隔時間(秒)。
    • 說明:設置為 300 表示如果連接空閑,每 300 秒(5分鐘)會發送一個保活包,以檢測連接是否仍然有效并保持連接活躍。有助于清理僵尸連接。
  15. protected-mode no

    • 作用:是否啟用保護模式。
    • 說明:在 Docker 容器或受信任的網絡環境中,需要設置為 no 以允許遠程連接。如果為 yes(默認),且沒有配置密碼和綁定 IP,Redis 只會回環地址(127.0.0.1)連接。
  16. bind 0.0.0.0

    • 作用:指定 Redis 監聽所有網絡接口上的連接。
    • 說明:在 Docker 中,必須設置為 0.0.0.0 才能讓容器外的客戶端(包括其他容器和宿主機)訪問到它。如果只綁定 127.0.0.1,則只能在容器內部訪問。
  17. requirepass your_secure_password_here

    • 作用:設置客戶端連接 Redis 所需的密碼。
    • 說明極大增強了安全性,防止未授權訪問。 所有節點應使用相同的密碼。your_secure_password_here 應被替換為一個非常強壯且唯一的密碼。
  18. masterauth your_secure_password_here

    • 作用:設置從節點(replica)連接主節點進行數據復制時所需的密碼。
    • 說明必須requirepass 的密碼一致。這樣,當主從節點之間需要通信或故障轉移時,它們才能成功地進行認證和數據同步。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/923687.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/923687.shtml
英文地址,請注明出處:http://en.pswp.cn/news/923687.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

Zynq開發實踐(SDK之第一個純PS工程)

【 聲明:版權所有,歡迎轉載,請勿用于商業用途。 聯系信箱:feixiaoxing 163.com】學編程的時候,大家一般都比較重視第一個項目的創建和執行。第一個fpga程序一般是led閃爍,第一個c程序一般就是hello world程…

EJS(Embedded JavaScript)(一個基于JavaScript的模板引擎,用于在HTML中嵌入動態內容)

文章目錄**1. 什么是 EJS?****2. 核心特點**- **接近原生 HTML**- **動態渲染**- **輕量高效**- **與 Express 深度集成****3. EJS 的基本語法****4. 示例代碼****HTML 模板(views/user.ejs)****Express 中渲染模板****5. 使用場景**1. **服務…

Linux:基于阻塞隊列的生產者消費模型

文章目錄一、生產者消費者模型的基本原則💕💕生產者-消費者模型的 321 原則💕💕二、為何要使用生產者消費者模型1. 解耦2. 支持并發 (提高效率)3. 忙閑不均的支持三、基于 BlockingQueue 的生產者消費者模型…

ensp啟動路由器報錯40

1. 先關閉 eNSP 模擬器、關閉 Virtualbox2. 在everything里面搜索 .VirtualBox文件夾,然后刪掉3. 再打開 eNSP,不添加任何模擬設備,單擊“菜單-工具-注冊設備”,將 AR_Base 重新注冊。4. 關閉 eNSP 模擬器

代碼隨想錄二刷之“圖論”~GO

A.深搜與廣搜(重點掌握!!!!) 深搜類似于回溯法 搜索方向,是認準一個方向搜,直到碰壁之后再換方向換方向是撤銷原路徑,改為節點鏈接的下一個路徑,回溯的過程…

基于Echarts+HTML5可視化數據大屏展示-白茶大數據溯源平臺V2

效果展示&#xff1a;代碼結構&#xff1a;主要代碼實現 index.html布局 <!DOCTYPE html> <html lang"en"><head><meta charset"UTF-8"><meta http-equiv"X-UA-Compatible" content"IEedge"><meta n…

Linux 系統網絡配置及 IP 地址相關知識匯總

Linux 系統網絡配置及 IP 地址相關知識匯總 一、IP地址基礎 IP地址&#xff1a;在計算機網絡中用來唯一標識一臺設備的一組數字。 二、IPv4相關知識 1. IPv4的表示方法 采用點分十進制表示&#xff0c;即由4個0-255的十進制數通過點分隔組成&#xff08;如192.168.1.1&#xff…

百度股價突破120美元創年內新高,AI云成為增長新引擎

美東時間9月16日&#xff0c;百度&#xff08;NASDAQ: BIDU&#xff09;美股大漲近8%&#xff0c;收盤價突破120美元&#xff0c;站上124美元高位&#xff0c;創2023年10月以來新高。北京時間9月17日港股開盤&#xff0c;百度&#xff08;09888.HK&#xff09;港股再次暴漲&…

《彩虹六號:圍攻》“Siege X”發布會3月14日舉行!

使用jQuery的常用方法與返回值分析 jQuery是一個輕量級的JavaScript庫&#xff0c;旨在簡化HTML文檔遍歷和操作、事件處理以及動畫效果的創建。本文將介紹一些常用的jQuery方法及其返回值&#xff0c;幫助開發者更好地理解和運用這一強大的庫。 1. 選擇器方法 jQuery提供了多種…

[從青銅到王者] Spring Boot+Redis+Kafka電商場景面試全解析

互聯網大廠Java開發崗技術面試實錄&#xff1a;嚴肅面試官VS搞笑程序員謝飛機 文章內容 第一輪&#xff1a;基礎框架與并發控制&#xff08;電商系統基礎能力&#xff09; 面試官&#xff08;嚴肅&#xff09;&#xff1a;歡迎進入面試環節&#xff0c;首先請用3句話總結Spring…

【DMA】DMA架構解析

目錄 1 DMA架構 1. 芯片架構圖一覽 2. AHB總線矩陣掛載 3. AHB1/APB1的橋和AHB1/APB2的橋 4. DMA1 和 DMA2 的區別 2 AHB總線矩陣 1 DMA架構 1. 芯片架構圖一覽 2. AHB總線矩陣掛載 stm32F411 芯片的 AHB 總線矩陣上共掛載了 6 主 5 從 六主&#xff1a; Icode-bus、D…

GPS 定位器:精準追蹤的“隱形守護者”

GPS 定位器&#xff1a;精準追蹤的“隱形守護者” 一、什么是 GPS 定位器&#xff1f; GPS 定位器是一種基于 全球定位系統&#xff08;Global Positioning System, GPS&#xff09; 的智能追蹤設備。 通過接收衛星信號并結合通信模塊&#xff08;如 4G、NB-IoT&#xff09;&am…

前端拖拽排序實現

1. 使用 HTML5 事件 觸發時機 核心任務 dragstart 開始拖拽時 準備數據&#xff0c;貼上標簽 dragover 經過目標上方時 必須 preventDefault()&#xff0c;發出“允許放置”的信號 dragleave 離開目標上方時 清理高亮等臨時視覺效果 drop 在目標上松手時 接收數據…

arm coresight

這是一個arm設計的調試基礎架構&#xff0c;我們常用的debug基本都包含在內。比如ETM、PTM、ITM、HTM、ETB等。 注意ETM、PTM、ITM、HTM、ETB是coresight的子集。這些工具相比普通debug的斷點調試&#xff0c;需要更高的專業水平&#xff0c;因此也用于復雜軟件故障定位、性能…

《華為基本法》 —— 企業發展的導航儀

當一家企業從 “小作坊” 向 “規模化組織” 跨越時&#xff0c;最需要的是什么&#xff1f;華為的答案&#xff0c;藏在 1998 年出臺的《華為基本法》里。1998 年&#xff0c;《華為基本法》正式頒布&#xff0c;這部凝結華為早期經營智慧的綱領性文件&#xff0c;不僅為華為從…

【完整源碼+數據集+部署教程】傳統韓文化元素分割系統: yolov8-seg-GFPN

背景意義 研究背景與意義 隨著全球化的加速&#xff0c;傳統文化的保護與傳承面臨著前所未有的挑戰。尤其是韓國的傳統文化&#xff0c;作為東亞文化的重要組成部分&#xff0c;蘊含著豐富的歷史、藝術和哲學內涵。然而&#xff0c;隨著現代化進程的推進&#xff0c;許多傳統文…

構建AI智能體:三十五、決策樹的核心機制(一):刨根問底鳶尾花分類中的參數推理計算

一、初識決策樹想象一個生活中的場景&#xff0c;我們去水果店買一個西瓜&#xff0c;該怎么判斷一個西瓜是不是又甜又好的呢&#xff1f;我們可能會問自己一系列問題&#xff1a;首先看看它的紋路清晰嗎&#xff1f;如果“是”&#xff0c;那么它可能是個好瓜。如果“否“&…

c語言中實現線程同步的操作

線程 常見問題 同步權限 在多線程 / 多進程并發時&#xff0c;為避免共享資源&#xff08;如內存變量、硬件設備、文件&#xff09;被同時修改導致的數據不一致&#xff0c;需要通過 “同步機制” 控制誰能訪問資源 ——“獲取同步權限” 就是線程 / 進程申請這種訪問資格的過程…

一臺設備管理多個 GitHub 賬號:從配置到切換的完整指南

一臺設備管理多個 GitHub 賬號&#xff1a;從配置到切換的完整指南 在日常開發中&#xff0c;我們經常需要在同一臺電腦上使用多個 GitHub 賬號&#xff08;比如個人賬號和工作賬號&#xff09;。但默認情況下&#xff0c;Git 會優先使用全局配置的賬號&#xff0c;導致推送代…

即插即用,秒入虛擬:TouchDIVER Pro 觸覺手套 賦能 AR/VR 高效交互

一、即插即用&#xff0c;零門檻開啟沉浸之旅 在XR&#xff08;擴展現實&#xff09;技術高速發展的今天&#xff0c;用戶對“真實感”的追求愈發迫切。Weart公司旗下旗艦產品TouchDIVER Pro觸覺手套&#xff0c;憑借無需適配器、無需復雜設置的極簡設計&#xff0c;打破傳統觸…