Redis学习系列之——Redis Stack 拓展功能
Redis OSS 是我们用的开源标准版本,而 Redis Stack 在此基础上进行了一些功能扩展。目前,Redis Stack 的最新版本是 7.4。
一、使用扩展功能
1、直接安装 Redis Stack;
2、动态加载
在开源版本的基础上,通过动态链接的方式将扩展功能作为插件加载进来,具体操作如下:
第1步,从官网下载扩展功能包
第2步,解压后把 .so 文件放到 Redis 服务器上
第3步,在 redis.conf 中,配置 loadmodule
第4步,启动 redis-server,然后执行 module list 命令,可以看到加载的扩展包
3、客户端调用
Java 的主流客户端工具还没有集成这些扩展功能,所以需要自己封装 LUA 脚本调用。
二、扩展功能一览
1、JSON:支持 JSON 类型数据。相比于用 String 存储 JSON 字符串,直接使用 JSON 类型更加节省空间且对 JSON 的读写性能更好。
2、Search:支持对 HASH 或 JSON 类型数据进行结构化查询,可以实现搜索引擎的大部分功能。
3、Bloom Filter:实现了布隆过滤器,可以快速判断某个元素是否不存在。
4、Cuckoo Filter:实现了布谷鸟过滤器,这是布隆过滤器的改版,与布隆过滤器相比最显著的特点是可以删除数据。之所以叫布谷鸟,是因为新数据面对 Hash 冲突时,会将旧数据重新 Hash 然后放到另一个桶中,就像布谷鸟“鸠占鹊巢”一样。(https://redis.io/docs/latest/develop/data-types/probabilistic/cuckoo-filter/)