系统环境

Ubuntu 20.04.2 LTS

安装redis

1
sudo apt install redis

redis安装rejson模块

下载

rejson模块github地址:https://github.com/RedisJSON/RedisJSON/releases
下载Source code(tar.gz) ,可以使用网页直接下载或者使用wget

1
wget https://github.com/RedisJSON/RedisJSON/archive/refs/tags/v1.0.7.tar.gz

解压

1
tar xf RedisJSON-1.0.7.tar.gz 

编译rejson

进入RedisJSON-1.0.7目录,执行make
编译完成后会在./src下生成rejson.so

配置rejson

复制rejson.so/usr/lib/

1
sudo cp ./src/rejson.so /usr/lib/

编辑/etc/redis/redis.conf
1
sudo vim /etc/redis/redis.conf

增加loadmodule /usr/lib/rejson.so

重启redis

1
sudo systemctl restart redis

使用redis-cli测试

命令行执行redis-cli进入redis操作

存储json

1
2
json.set  abc . '{"a":"1","b":"2","c":"3"}'
OK

这里的.不可以省略
abc是json串的key,.代表json的根''中间是json。 三个参数使用空格分开。

读取json

1
2
json.get  abc . 
"{\"a\":\"1\",\"b\":\"2\",\"c\":\"3\"}"
1
2
json.get  abc .b 
"\"2\""

这里的.可以省略

修改json

修改值

1
2
json.set  abc .c 4
OK
1
2
json.get  abc .c 
"4"

修改对象

1
2
json.set  abc .d '{"e":"e"}'
OK
1
2
json.get  abc .d 
"{\"e\":\"e\"}"
1
2
json.get  abc .d.e
"\"e\""

修改列表

1
2
json.set  abc e '[{"f":"1"},{"g":"2"}]' 
OK
1
2
json.get  abc e
"[{\"f\":\"1\"},{\"g\":\"2\"}]"
1
2
json.get  abc e[0]
"{\"f\":\"1\"}"
1
2
json.get  abc e[0]f
"\"1\""