数据库
首页 > 数据库> > RedisJSON笔记

RedisJSON笔记

作者:互联网

1,资料

github: https://github.com/RedisJSON/RedisJSON
website: https://oss.redis.com/redisjson/

2,介绍

3,安装

3.1,加载模块安装
方式1:
redis-server --loadmodule /usr/lib/redis/module/rejson.so

方式2:
在redis.conf中,添加一下内容:
loadmodule /usr/lib/redis/module/rejson.so
3.2,docker安装

在这里插入图片描述

3.3,内存使用(实验的和文档不一致)
使用json.debug memory key计算大小

字符串最少占用24字节
127.0.0.1:6379> json.set str . '""'
OK
127.0.0.1:6379> json.debug memory str
(integer) 24

数组最少占用24个字节
127.0.0.1:6379> json.set arr . []
OK
127.0.0.1:6379> json.debug memory arr
(integer) 24

json对象最少占用72个字节
127.0.0.1:6379> json.set obj . {}
OK
127.0.0.1:6379> json.debug memory obj
(integer) 72
3.4,路径语法
RedisJSON目前支持两种查询语法:JSONPath语法和RedisJSON第一个版本的路径语法。

RedisJSON根据路径查询的第一个字符决定使用哪种语法。如果查询以字符$开头,则使用JSONPath语法。否则,它默认为路径语法。

JSONPath:
RedisJSON 2.0引入了JSONPath支持。
JSONPath查询可以解析JSON文档中的多个位置。在这种情况下,JSON命令将操作每个可能的位置。这是对遗留查询的重大改进,早期查询只在第一条路径上运行。
注意,在使用JSONPath时,命令响应的结构通常不同。
新语法支持括号表示法,允许在键名中使用特殊字符,如冒号“:”或空格。

Legacy Path syntax (RedisJSON v1):
RedisJSON的第一个版本有以下实现。RedisJSON v2仍然支持它。
路径总是从JSON值的根开始。根由字符(.)表示。对于引用根的子级的路径,可以选择在路径前面加上根前缀。
要访问数组元素,请将其索引括在一对方括号内。索引是基于0的,0是数组的第一个元素。可以使用负偏移来访问从数组末端开始的元素。-1是数组中的最后一个元素

json key的规则:
必须以字符,$,_开头
可以包含字符,数字,$,_
大小写敏感
3.5,搜索和索引

标签:127.0,name,0.1,RedisJSON,json,笔记,6379,JSON
来源: https://blog.csdn.net/lcj_star/article/details/122092210