首页 前端知识 java系统架构图设计,Redis 存取 JSON 数据

java系统架构图设计,Redis 存取 JSON 数据

2024-05-31 20:05:35 前端知识 前端哥 367 213 我要收藏
  • 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 安装流程

  1. 安装 redis 4.0

  2. 安装相关系统依赖

  3. 安装 rejson 模块

  4. 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开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。img

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上Java开发知识点,真正体系化!

由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且会持续更新!

如果你觉得这些内容对你有帮助,可以扫码获取!!(备注Java获取)

img

最后

面试题文档来啦,内容很多,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)]

《互联网大厂面试真题解析、进阶开发核心学习笔记、全套讲解视频、实战项目源码讲义》点击传送门即可获取!

转载请注明出处或者链接地址:https://www.qianduange.cn//article/10336.html
评论
发布的文章

npmjs官网(查询依赖包)

2024-06-07 00:06:56

npx使用及原理

2024-06-07 00:06:36

npm 包管理工具

2024-06-07 00:06:33

vue 思极地图开发

2024-06-07 00:06:28

大家推荐的文章
会员中心 联系我 留言建议 回顶部
复制成功!