ubuntu下使用redis存储json
系统环境
Ubuntu 20.04.2 LTS
安装redis
sudo apt install redis
redis安装rejson模块
下载
rejson模块github地址:https://github.com/RedisJSON/RedisJSON/releases
下载Source code(tar.gz) ,可以使用网页直接下载或者使用wget
wget https://github.com/RedisJSON/RedisJSON/archive/refs/tags/v1.0.7.tar.gz
解压
tar xf RedisJSON-1.0.7.tar.gz
编译rejson
进入RedisJSON-1.0.7
目录,执行make
编译完成后会在./src
下生成rejson.so
配置rejson
复制rejson.so
到/usr/lib/
sudo cp ./src/rejson.so /usr/lib/
编辑/etc/redis/redis.conf
sudo vim /etc/redis/redis.conf
增加loadmodule /usr/lib/rejson.so
重启redis
sudo systemctl restart redis
使用redis-cli测试
命令行执行redis-cli
进入redis操作
存储json
json.set abc . '{"a":"1","b":"2","c":"3"}'
OK
这里的.
不可以省略
abc
是json串的key,.
代表json的根''
中间是json。 三个参数使用空格分开。
读取json
json.get abc .
"{\"a\":\"1\",\"b\":\"2\",\"c\":\"3\"}"
json.get abc .b
"\"2\""
这里的.
可以省略
修改json
修改值
json.set abc .c 4
OK
json.get abc .c
"4"
修改对象
json.set abc .d '{"e":"e"}'
OK
json.get abc .d
"{\"e\":\"e\"}"
json.get abc .d.e
"\"e\""
修改列表
json.set abc e '[{"f":"1"},{"g":"2"}]'
OK
json.get abc e
"[{\"f\":\"1\"},{\"g\":\"2\"}]"
json.get abc e[0]
"{\"f\":\"1\"}"
json.get abc e[0]f
"\"1\""