当前位置:首页 > Java技术 > 12.Redis 安装ReJSON模块

12.Redis 安装ReJSON模块


在redis中可以使用大量的redis模块来扩展redis的功能,这里安装ReJSON模块

RedisJSON是一种高性能JSON文档存储,允许开发人员构建现代应用程序。它在内存中存储和处理JSON,以亚毫秒级支持每秒数百万次操作响应时间。JSON文档的原生索引、查询和全文搜索允许开发人员创建二级索引,快速查询数据。

主要特点:

  • 完全支持json标准
  • JSONPath语法,用于选择文档中的元素
  • 文档以二进制数据形式存储在树形结构中,从而可以快速访问子元素
  • 所有JSON值类型的类型化原子操作
  • 基于RedisSearch的二级索引支持

1.安装前的说明

本文是已经在虚拟机中的linux下安装了Redis;
安装redis的链接https://blog.csdn.net/qq_40196164/article/details/123481264

2. 下载rejson

github上下载ReJSON的地址:https://github.com/RedisJSON/RedisJSON/releases
官方实用文档:https://oss.redis.com/redisjson/commands/#jsonset

这里使用的是二进制文件rejson.so文件截图如下:
12.Redis 安装ReJSON模块 _ JavaClub全栈架构师技术笔记
下载好的文件如下图所示:
12.Redis 安装ReJSON模块 _ JavaClub全栈架构师技术笔记
我电脑的redis.so文件放在了/opt/module目录下
12.Redis 安装ReJSON模块 _ JavaClub全栈架构师技术笔记

3.把下载好的rejson文件放入到redis的安装目录下的module(自己创建)目录中

我的redis的安装目录在 /opt/redis-6.2.6目录下
打开终端输入命令进入到你的redis安装目录:

# 进入redis的安装目录
cd /opt/redis-6.2.6/

# 新建module文件夹
mkdir module

# 通过cp命令将rejson.so拷贝到module目录下
cp /opt/module/rejson.so ./module

# 查看是否拷贝成功,可以看到rejson.so文件则说明拷贝成功
ll ./module

# 运行结果
[hello@hadoop100 redis-6.2.6]$ ll ./module/
总用量 440
-rwxr-xr-x. 1 root root 449080 328 09:12 rejson.so

得到的结果:
12.Redis 安装ReJSON模块 _ JavaClub全栈架构师技术笔记

4. 将module目录下的rejson.so文件修改为可执行文件

命令:

# 进入module目录下
cd ./module

# 修改rejson.so为可执行文件
chmod +x rejson.so

5.修改redis.conf配置文件,新增loadmodule

找到redis.conf文件并使用vim编辑器进入,找到对应的位置并修改保存,
添加loadmodule /opt/redis-6.2.6/module/rejson.so
如下图:
12.Redis 安装ReJSON模块 _ JavaClub全栈架构师技术笔记

6.重新启动redis

运行命令:

redis-server kconfig/redis.conf
redis-cli -p 6379

7.查看已经加载的所有模块

运行命令及运行后的结果:

# 显示ReJSON则说明安装成功,可以使用
127.0.0.1:6379[1]> module list
1) 1) "name"
   2) "ReJSON"
   3) "ver"
   4) (integer) 10004
127.0.0.1:6379[1]> 

8.简单的使用ReJSON模块

# 向redis中写入key值为myjson的json数据类型
127.0.0.1:6379[1]> json.set myjson . '{"name":"xiaoli", "age":18, "advantage":"play"}'
OK

# 得到myjson的所有数据
127.0.0.1:6379[1]> json.get myjson
"{\"name\":\"xiaoli\",\"age\":18,\"advantage\":\"play\"}"

# 得到json数据中的键name的值
127.0.0.1:6379[1]> json.get myjson name
"\"xiaoli\""

# 得到json数据中的键age的值
127.0.0.1:6379[1]> json.get myjson age
"18"

# 得到json数据中的键advantage的值
127.0.0.1:6379[1]> json.get myjson advantage
"\"play\""

作者:我脾气很好
来源链接:https://blog.csdn.net/qq_40196164/article/details/123789939


版权声明:
1、JavaClub(https://www.javaclub.cn)以学习交流为目的,由作者投稿、网友推荐和小编整理收藏优秀的IT技术及相关内容,包括但不限于文字、图片、音频、视频、软件、程序等,其均来自互联网,本站不享有版权,版权归原作者所有。

2、本站提供的内容仅用于个人学习、研究或欣赏,以及其他非商业性或非盈利性用途,但同时应遵守著作权法及其他相关法律的规定,不得侵犯相关权利人及本网站的合法权利。
3、本网站内容原作者如不愿意在本网站刊登内容,请及时通知本站(javaclubcn@163.com),我们将第一时间核实后及时予以删除。





本文链接:https://www.javaclub.cn/java/68800.html

分享给朋友: