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

【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.dtcms.com/a/233040.html

相关文章:

  • 《图解技术体系》How Redis Architecture Evolves?
  • k8s业务程序联调工具-KtConnect
  • 【安全攻防与漏洞】​​量子计算对HTTPS的威胁:后量子密码学进展
  • nvidia系列教程-Usb otg模式修改为host模式
  • proteus8安装教程
  • 操作docker容器
  • 如何利用Facebook优化TikTok的跨境商品推广效果
  • 在Facebook平台有效结合TikTok跨境营销的方法
  • MVCC机制:Undo Log版本链与ReadView机制
  • 微服务网关SpringCloudGateway+SaToken鉴权
  • 10. vue pinia 和react redux、jotai对比
  • OCR助力保险业建设
  • YOLO目标检测模型交互式UI设计与实现
  • Spring Boot论文翻译防丢失 From船长cap
  • 【photoshop】专色浓度和专色密度
  • Agentic AI 和 Agent AI 到底区别在哪里?
  • 力扣面试150题--被围绕的区域
  • 企业入驻成都芯谷金融中心·文化科技产业园优势深度解析
  • IDEA 包分层显示设置
  • 宠物车载安全座椅市场报告:解读行业趋势与投资前景
  • 航道无人机巡检系统
  • 无 sudo 权限下 Conda 安装 GCC 全攻略:虚拟环境适配、版本冲突解决与实战指南
  • 域名解析概述
  • C++:abnormal terminate std::stoi,空串
  • PostgreSQL 入门教程
  • Vue中实现表格吸底滚动条效果,列太多时左右滚动条始终显示在页面中
  • SSRF漏洞
  • SQL SERVER中获取外部数据的两种方法!
  • Conda 基本使用命令大全
  • Wireshark使用教程(含安装包和安装教程)