Redis Module之RedisJSON

Redis Modules System是4.0出现一大改动点,使得可以通过外部模块对Redis进行功能性扩展。在使用 Redis 中,我们可以使用大量的 Redis 模块来扩展 Redis 的功能,这里安装使用 ReJSON模块。

RedisJSON简介

RedisJSON是RedisLabs公司开发的一款用于扩展Redis的JSON处理模块,RedisJSON模块为Redis提供JSON支持。RedisJSON允许您在Redis数据库中存储、更新和检索JSON值,类似于任何其他Redis数据类型。RedisJSON还可以与RediSearch无缝协作,让您可以索引和查询JSON文档。

一、安装ReJSON

github上下载ReJSON的源码:Releases · RedisJSON/RedisJSON · GitHub

官方使用文档: http://redisjson.io

make编译,生成二进制文件 rejson.so

由于我们下载的是RedisJSON的源码,因此我们需要手动编译出Redis需要的模块库,这里需要说明一下,默认下载的master分支的代码,不知道是什么原因一直编译报错,这里我们使用 1.0分支的源码进行编译,如下所示:

cd rejson
git checkout 1.0
make

编译完成后,我们就可以在rejson/src目录下找到 rejson.so文件了,这正是我们需要的。

(error) NOAUTH Authentication required.
127.0.0.1:6379> auth 123456
OK
127.0.0.1:6379>

加载模块

1)使用 MODULE LOAD 命令。注意: MODULE LOAD 是一个危险命令,不推荐使用:

module load /path/rejson/src/rejson.so

成功加载后返回 OK 

2)在 redis.conf 配置文件中添加:loadmodule /usr/local/redis/module/rejson.so ,搞定

重启,查看Redis 已经加载的所有模块:> module list

192.168.198.20:6379> module list
1) 1) "name"
   2) "ReJSON"
   3) "ver"
   4) (integer) 10004

二、使用ReJson

简单set/get使用

192.168.198.20:6379> JSON.SET jsonkey   .  '{"a":"b","c":["1","2","3"]}'
OK
192.168.198.20:6379> JSON.GET jsonkey
"{\"a\":\"b\",\"c\":[\"1\",\"2\",\"3\"]}"
192.168.198.20:6379> JSON.GET jsonkey .a
"\"b\""
192.168.198.20:6379> JSON.GET jsonkey .c
"[\"1\",\"2\",\"3\"]"

官方模块仓库

官方模块仓库收录很多优质的模块:

新数据结构

rejson 提供了对原生 JSON 格式支持,允许对 JSON 数据内的值进行获取与修改

Redis Graph 添加了对图数据库的支持 等等

对现有数据结构功能的扩展

rxkeys 提供了按正则表达式批量获取与删除条目的功能 rxhashes 提供了在 Hash 中改变现有条目的值并返回原值的原子操做 rxlists 提供了 7 个新的列表操作方法。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值