Redis8新增特性

前言

redis8发布之后,新增了几项特性,其中将RedisJSON支持到redis了,支持了对json的操作了

redis8中的json操作

redis8安装

为了方便,采用docker安装

bash 复制代码
docker run -d \
  --name redis \
  --restart=always \
  --privileged=true \
  -p 6380:6379 \
  -v /opt/docker/redis/conf/redis.conf:/etc/redis/redis.conf \
  -v /opt/docker/redis/data:/data \
  redis:8.0 \
  redis-server /etc/redis/redis.conf

本文因为服务器安装了redis了,占用了默认端口6379,所以映射端口改为6380

命令操作

1、进入到容器内部

bash 复制代码
docker exec -it 容器id /bin/bash

2、然后执行以下命令进入到redis客户端

复制代码
redis-cli

redis8语法参考文档

redis8中的json语法参考文档

ruby 复制代码
https://redis.io/docs/latest/commands/json.set/
JSON.SET

设置一个json值

json 复制代码
JSON.SET hello $ '{"id":1, "userName": "aaa"}'

输出结果为

往json里面设值值
javascript 复制代码
JSON.SET hello $.age '8'

输出结果为

JSON.GET

使用JSON.GET获取json值

javascript 复制代码
JSON.GET hello

输出结果为

获取json指定值
javascript 复制代码
JSON.GET hello $.id

输出结果为

JSON.DEL

使用JSON.DEL删除键值

javascript 复制代码
JSON.GET hello

输出结果为

删除json中的某个值
javascript 复制代码
JSON.DEL hello $.userName

输出结果为

JSON.MGET批量获取

使用JSON.MGET批量获取键值

javascript 复制代码
JSON.MGET hello hello1 $

输出结果为

JSON.MSET批量插入
json 复制代码
JSON.MSET test1 $ '{"id":1, "userName": "aaa"}'  test2 $ '{"id":1, "userName": "aaa"}'

输出结果为

数组命令

JSON.ARRAPPEND 数组追加元素

使用命令

json 复制代码
JSON.SET hello1 $ '{"id":1, "userName": "aaa", "role": ["aa", "bb"]}'
javascript 复制代码
JSON.ARRAPPEND hello1 $.role '"cc"'

输出结果为

JSON.ARRINSERT插入数据

往数组中第二个索引位插入(从0开始计算)

javascript 复制代码
JSON.ARRINSERT hello1 $.role 2 '"dd"' '"ee"'

输出结果为

JSON.ARRLEN获取数组长度
javascript 复制代码
JSON.ARRLEN hello1 '$.role'

输出结果为

JSON.ARRPOP移除元素

从数组的索引中移除并返回一个元素

javascript 复制代码
JSON.ARRPOP hello1 $.role 0

输出结果为

总结

Redis8中新增了一些实用特性,可以使用试试看

相关推荐
ltl2 分钟前
你的大脑正在发生什么:AI 时代程序员的认知心理学
程序员
邦爷的AI架构笔记3 分钟前
GLM-5.1 接入踩坑记录:用免费开源模型搭个 AI 代码审计小工具
后端·算法
Bernard02155 分钟前
我试了下最近很火的 Hermes Agent:真正值得看的,不是会调工具,而是会把经验沉淀成 Skill
前端·后端
刘~浪地球10 分钟前
Redis 从入门到精通(十四):内存管理与淘汰策略
数据库·redis·缓存
之歆16 分钟前
API 层架构设计 — 从 RESTful 到 GraphQL 的范式演进
vue.js·后端·restful·graphql
落木萧萧82524 分钟前
从架构视角看 MyBatis Plus 的设计缺陷
后端
Moment29 分钟前
AI全栈入门指南:使用 NestJs 创建第一个后端项目
前端·javascript·后端
希望永不加班31 分钟前
SpringBoot 定时任务:@Scheduled 基础与动态定时
java·spring boot·后端·spring
我叫黑大帅31 分钟前
如何设计应用层 ACK 来补充 TCP 的不足?
后端·面试·go
AIUCE33 分钟前
我给 AI 装了个"秦始皇":11 层架构解决 AI 黑箱问题
后端