【Redis】筆記|第9節|Redis Stack擴展功能

Redis Stack 擴展功能筆記(基于 Redis 7)


一、Redis Stack 概述
  • 定位:Redis OSS + 擴展模塊(JSON、搜索、布隆過濾器等),提供高級數據處理能力。
  • 核心模塊
    • RedisJSON:原生 JSON 支持,支持路徑查詢和原子操作。
    • Search and Query:全文搜索(類似 ElasticSearch),支持復雜條件過濾。
    • Bloom Filter:高效判斷元素是否存在(節省空間,有誤判率)。
    • Cuckoo Filter:支持刪除操作的布隆過濾器改進版。

二、核心擴展功能詳解
  1. Redis JSON
    • 功能
      • 存儲/查詢 JSON 數據:JSON.SET user $ '{"name":"loulan"}'
      • 路徑操作:JSON.GET user $.nameJSON.NUMINCRBY user $.age 2
      • 數組操作:JSON.ARRAPPEND user $.hobbies '"swimming"'
    • 優勢
      • 二進制存儲(高效省內存),性能媲美 MongoDB。
      • 與 Redis 生態(TTL、事務)無縫集成。
  2. Search and Query
    • 傳統 SCAN 缺陷
      • 僅支持簡單 Key 過濾:SCAN 0 MATCH k* COUNT 20(阻塞風險)。
    • RedisSearch 方案
      • 創建索引(支持 JSON/HASH):
FT.CREATE productIndex ON JSON SCHEMA $.name AS name TEXT $.price AS price NUMERIC  
      • 復雜查詢(電商場景):
FT.SEARCH productIndex "@name:HUAMET @price:[1000 5000]" RETURN 2 id name  
  1. Bloom Filter
    • 原理:位數組 + 多哈希函數(空間高效,存在誤判)。
    • 使用場景:緩存穿透防護(快速攔截無效請求)。
    • Redis 操作
BF.RESERVE bf 0.01 1000  # 創建(容錯率1%,容量1000)  
BF.ADD bf A              # 添加元素  
BF.EXISTS bf a           # 檢查(返回1可能存在,0一定不存在)  
  1. Cuckoo Filter
    • 改進點:支持刪除(CF.DEL),空間利用率更高。
    • 參數:桶大小(BUCKETSIZE)影響誤判率和性能(默認 2)。
    • 創建
CF.RESERVE cf 1000 BUCKETSIZE 2 MAXITERATIONS 20  

三、擴展模塊集成
  1. 手動安裝:(Redis8不用安裝,默認集成,或者用redis-stack:v7.4.0-v5的Docker鏡像也集成了stack
    • 從?Redis 下載中心?獲取模塊(如?redisbloom.so)。
    • 配置加載:
loadmodule /path/redisbloom.so  
    • 驗證:MODULE LIST
  1. Java 客戶端調用
    • 通過 Lua 腳本執行擴展命令(需處理模塊未加載異常):
// 創建布隆過濾器  
String script = "return redis.call('BF.RESERVE', KEYS[1], '0.01','1000')";  
redisTemplate.execute(new DefaultRedisScript<>(script, String.class), keys);  

四、Redis 8 新特性補充
基于 Redis 8 與 Redis Stack 的演進:
  1. 原生 JSON 性能優化
    • 支持完整?JSONPath 語法,增強查詢靈活性。
  2. 向量搜索(Vector Search)
    • 新增?RedisVL?模塊,支持 AI 向量相似度搜索(集成 Hugging Face 模型)。
  3. 客戶端緩存改進
    • 服務端輔助的客戶端緩存(Tracking),減少網絡開銷。
  4. 持久化增強
    • 多線程 AOF 重寫,提升大數據集持久化效率。
注意:Redis Stack 從 8 開始與 Redis OSS 版本號對齊,擴展模塊更新更緊密。

參考:Redis Stack 官方文檔?|?Redis 8 Release Notes

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

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

相關文章

如何選擇專業數據可視化開發工具?為您拆解捷碼全功能和落地指南!

分享大綱&#xff1a; 1、捷碼核心功能&#xff1a;4維能力支撐大屏開發 2、3步上手&#xff1a;可視化大屏開發操作路徑 3、適配場景&#xff1a;8大行業已驗證方案 在各行各業要求數字化轉型時代&#xff0c;數據可視化大屏已成為眾多企業數據驅動的核心工具。面對市場上繁雜…

測試W5500的第11步_使用ARP解析IP地址對應的MAC地址

本文介紹了基于W5500芯片的ARP協議實現方法&#xff0c;詳細闡述了ARP請求與回復的工作機制。ARP協議通過廣播請求和單播回復實現IP地址與MAC地址的映射&#xff0c;確保局域網設備間的可靠通信。文章提供了完整的STM32F10x開發環境下的代碼實現&#xff0c;包括網絡初始化、SP…

在樹莓派上添加音頻輸入設備的幾種方法

在樹莓派上添加音頻輸入設備可以通過以下步驟完成&#xff0c;具體方法取決于設備類型&#xff08;如USB麥克風、3.5mm接口麥克風或HDMI音頻輸入&#xff09;。以下是詳細指南&#xff1a; 1. 連接音頻輸入設備 USB麥克風/聲卡&#xff1a;直接插入樹莓派的USB接口。3.5mm麥克…

IDEA 打開文件亂碼

問題&#xff1a;文件亂碼 底部編碼無法切換 解決方案&#xff1a; 第一步 使用Nodepad 查詢文件編碼 本項目設置為 轉為 UTF-8 無 BOM 第二步&#xff1a;在 IntelliJ IDEA 中&#xff1a;右鍵點擊文件 → File Encoding → 選擇目標編碼&#xff08;如 UTF-8&#xff09; 最…

float、double 這類 浮點數 相比,DECIMAL 是另一種完全不同的數值類型

和 float、double 這類**“浮點數”**相比&#xff0c;DECIMAL 是另一種完全不同的數值類型&#xff0c;叫做&#xff1a; ? DECIMAL 是什么&#xff1f; DECIMAL 是“定點數”類型&#xff08;fixed-point&#xff09;&#xff0c;用于存儲精確的小數值&#xff0c;比如&…

Java應用10(客戶端與服務器通信)

Java客戶端與服務器通信 Java提供了多種方式來實現客戶端與服務器之間的通信&#xff0c;下面我將介紹幾種常見的方法&#xff1a; 1. 基于Socket的基本通信 服務器端代碼 import java.io.*; import java.net.*;public class SimpleServer {public static void main(String…

pytorch基本運算-范數

引言 前序學習進程中&#xff0c;已經對pytorch基本運算有了詳細探索&#xff0c;文章鏈接有&#xff1a; 基本運算 廣播失效 乘除法和冪運算 hadamard積、點積和矩陣乘法 上述計算都是以pytorch張量為運算元素&#xff0c;這些張量基本上也集中在一維向量和二維矩陣&#x…

EasyRTC音視頻實時通話助力新一代WebP2P視頻物聯網應用解決方案

一、方案背景? 物聯網技術深刻變革各行業&#xff0c;視頻物聯在智慧城市、工業監控等場景廣泛應用。傳統方案依賴中心服務器中轉&#xff0c;存在傳輸效率低、網絡負載大的問題。新一代WebP2P視頻物聯技術實現設備直連&#xff0c;降低網絡壓力并提升傳輸效率&#xff0c;成…

DAY 15 復習日

浙大疏錦行 數據使用爬蟲爬取weibo數據&#xff0c;下面是代碼 import datetime import os import csv import timeimport numpy as np import random import re import urllib.parse import requests from fake_useragent import UserAgentdef init():if not os.path.exists…

SSL/TLS 協議詳解:安全通信的基石

一、概述 SSL&#xff08;Secure Sockets Layer&#xff09; 及其繼任者 TLS&#xff08;Transport Layer Security&#xff09; 是位于 傳輸層&#xff08;TCP&#xff09;與應用層之間 的加密協議&#xff0c;用于在網絡通信中實現 機密性、身份認證和數據完整性。 核心目標…

使用子樹合并策略更新git項目的部分目錄

背景 正在開發的一個項目中引用了第三方庫的源碼&#xff0c;由于歷史原因&#xff0c;源碼的引用并不是很規范&#xff08;直接下載下來后作為自己項目的部分源碼使用&#xff0c;還進行了一些修改&#xff09;&#xff0c;具體如下&#xff1a; 我有一個本地git項目project…

pikachu通關教程-CSRF

CSRF(get) 用bp進行抓包 選擇action value值的修改 點擊test in browser copy然后放在bp代理的瀏覽器上&#xff0c;會出現一個提交按鈕&#xff0c;這時候點擊之后信息就被修改了。 CSRF(post) 請求的方式不同&#xff0c;其他都是一樣 CSRF Token 存在cookie 首先要先下載一…

AI驅動游戲開發:Unity與ML-Agents結合

AI驅動游戲開發&#xff1a;Unity與ML-Agents結合 系統化學習人工智能網站&#xff08;收藏&#xff09;&#xff1a;https://www.captainbed.cn/flu 文章目錄 AI驅動游戲開發&#xff1a;Unity與ML-Agents結合摘要引言技術架構與開發流程1. Unity與ML-Agents協同機制2. 開發…

如何給windos11 擴大C盤容量

動不動C盤就慢了&#xff0c;蘋果逼著用戶換手機&#xff0c;三天兩頭更新系統&#xff0c;微軟也是毫不手軟。c盤 從10個G就夠用&#xff0c;到100G 也不夠&#xff0c;看來通貨膨脹是部分行業的。 在 Windows 11 中擴大 C 盤容量&#xff0c;主要取決于磁盤分區布局和可用空…

Kafka入門-消費者

消費者 Kafka消費方式&#xff1a;采用pull&#xff08;拉&#xff09;的方式&#xff0c;消費者從broker中主動拉去數據。使用pull的好處就是消費者可以根據自身需求&#xff0c;進行拉取數據&#xff0c;但是壞處就是如果Kafka沒有數據&#xff0c;那么消費者可能會陷入循環…

SpringBoot自動化部署實戰技術文章大綱

技術背景與目標 介紹SpringBoot在現代開發中的重要性自動化部署的價值&#xff1a;提升效率、減少人為錯誤、實現CI/CD適用場景&#xff1a;中小型Web應用、微服務架構 自動化部署核心方案 基于Docker的容器化部署 SpringBoot應用打包為Docker鏡像使用Docker Compose編排多容…

TDengine 集群運行監控

簡介 為了確保集群穩定運行&#xff0c;TDengine 集成了多種監控指標收集機制&#xff0c;并通過 taosKeeper 進行匯總。taosKeeper 負責接收這些數據&#xff0c;并將其寫入一個獨立的 TDengine 實例中&#xff0c;該實例可以與被監控的 TDengine 集群保持獨立。TDengine 中的…

C# 委托UI控件更新例子,何時需要使用委托

1. 例子1 private void UdpRxCallBackFunc(UdpDataStruct info) {// 1. 前置檢查防止無效調用if (textBoxOutput2.IsDisposed || !textBoxOutput2.IsHandleCreated)return;// 2. 使用正確的委托類型Invoke(new Action(() >{// 3. 雙重檢查確保安全if (textBoxOutput2.IsDis…

[10-2]MPU6050簡介 江協科技學習筆記(22個知識點)

1 2 3 歐拉角是描述三維空間中剛體或坐標系之間相對旋轉的一種方法。它們由三個角度組成&#xff0c;通常表示為&#xff1a; ? 偏航角&#xff08;Yaw&#xff09;&#xff1a;繞垂直軸&#xff08;通常是z軸&#xff09;的旋轉&#xff0c;表示偏航方向的變化。 ? 俯仰角&a…

虛擬環境共享系統包

提示&#xff1a;文章寫完后&#xff0c;目錄可以自動生成&#xff0c;如何生成可參考右邊的幫助文檔 虛擬環境共享系統包 python basic_pipelines/detection.py如果報錯顯示如下&#xff1a; Traceback (most recent call last):File "/home/ai/hailort/hailo-rpi5-exam…