-
2.2 json 内部操作
-
3. 安装
-
- 3.1 安装流程
-
3.2 详细安装过程
-
4. 小结
1. 简介
Redis 本身有比较丰富的数据类型,例如 String、Hash、Set、List
JSON 是我们常用的数据类型,当我们需要在 Redis 中保存 json 数据时是怎么存放的呢?
一般是用 String 或者 Hash,但还是不太方便,无法灵活的操作 json 数据
在 Redis 4.0 中,有一个重大改进:modules 模块系统,可以让我们开发新的功能,集成到 redis 中
rejson 就是一个新的模块,为 redis 提供了 json 存储能力
2. 示例
2.1 基础操作
127.0.0.1:6379> JSON.SET object . ‘{“foo”: “bar”, “ans”: 42}’
OK
127.0.0.1:6379> JSON.GET object
“{\“foo\”:\“bar”,\“ans\”:42}”
先看下第一条命令的含义:
-
JSON.SET 是json设置命令
-
object 是 key
-
. 是json文档的root,后面的一串是具体的 json 数据值
第二条命令是获取 key 为 object 的json数据
2.2 json 内部操作
- 获取某字段的值
127.0.0.1:6379> JSON.GET object .ans
“42”
命令中的 .ans 是目标路径,表示 root 下面的 ans
- 设置某字段值
127.0.0.1:6379> json.set object .name ‘“bill”’
OK
127.0.0.1:6379> json.get object
“{\“foo\”:\“bar\”,\“ans\”:42,\“hi\”:\“hello\”,\“name\”:\“bill\”}”
这个命令是在 root 下新增了一个字段 name,值为 bill
也可以修改已有字段的值,用法相同
- 删除字段
127.0.0.1:6379> json.del object .name
(integer) 1
127.0.0.1:6379> json.get object
“{\“foo\”:\“bar\”,\“ans\”:42,\“hi\”:\“hello\”}”
这个命令使用 del 把 root 下的 name 字段删除了
- 数字操作
ans 字段是数字类型,值为 42,下面对其执行 +3 操作
127.0.0.1:6379> json.numincrby object .ans 3
“45”
127.0.0.1:6379> json.get object
“{\“foo\”:\“bar\”,\“ans\”:45,\“hi\”:\“hello\”}”
还可以进行乘法操作
127.0.0.1:6379> json.nummultby object .ans 2
“90”
127.0.0.1:6379> json.get object
“{\“foo\”:\“bar\”,\“ans\”:90,\“hi\”:\“hello\”}”
直接删除整个json串
127.0.0.1:6379> json.get object
“{\“foo\”:\“bar\”,\“ans\”:90}”
127.0.0.1:6379> json.del object
(integer) 0
127.0.0.1:6379> json.get object
(nil)
127.0.0.1:6379>
还有很多其他操作命令,具体可以查看项目文档
3. 安装
因为使用了模块功能,所以需要 redis 4.0 以上版本
3.1 安装流程
-
安装 redis 4.0
-
安装相关系统依赖
-
安装 rejson 模块
-
redis 加载 rejson 模块
3.2 详细安装过程
安装 redis 4.0
wget https://github.com/antirez/redis/archive/4.0-rc2.tar.gz
tar xzf 4.0-rc2.tar.gz
cd redis-4.0-rc2/
make
安装依赖
自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。
深知大多数Java工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但对于培训机构动则几千的学费,着实压力不小。自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!
因此收集整理了一份《2024年Java开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。
既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上Java开发知识点,真正体系化!
由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且会持续更新!
如果你觉得这些内容对你有帮助,可以扫码获取!!(备注Java获取)
最后
面试题文档来啦,内容很多,485页!
由于笔记的内容太多,没办法全部展示出来,下面只截取部分内容展示。
1111道Java工程师必问面试题
MyBatis 27题 + ZooKeeper 25题 + Dubbo 30题:
Elasticsearch 24 题 +Memcached + Redis 40题:
Spring 26 题+ 微服务 27题+ Linux 45题:
Java面试题合集:
《互联网大厂面试真题解析、进阶开发核心学习笔记、全套讲解视频、实战项目源码讲义》点击传送门即可获取!
* Redis 40题:
[外链图片转存中…(img-SlOyRlgS-1713305546508)]
Spring 26 题+ 微服务 27题+ Linux 45题:
[外链图片转存中…(img-3H988yju-1713305546508)]
Java面试题合集:
[外链图片转存中…(img-OTyF1U4H-1713305546508)]
《互联网大厂面试真题解析、进阶开发核心学习笔记、全套讲解视频、实战项目源码讲义》点击传送门即可获取!