当前位置: 首页 > news >正文

一篇文章拿下Redis 通用命令

文章目录

  • Redis数据结构介绍
  • Redis 通用命令
  • 命令演示
    • KEYS
    • DEL
    • EXISTS
    • EXPIRE
  • RedisTemplate 中的通用命令


在这里插入图片描述

本篇文章介绍 Redis 的通用命令, 通用命令在 Redis 的所有数据类型下都使用, 学好通用命令可以让我们更好的使用 Redis.


Redis数据结构介绍

Redis 是一个key-value的数据库,key一般是String类型,不过value的类型多种多样:

String: snow

Hash: {"name":"snow", "age":20}

List:[A, B, C, D, A, B, C, D]

Set:[A, B, C, D]

SSet:{A:1, B:2, C:3}

GEO:{A:{100.0, 20.0}}

BitMap: 0101010101010101


Redis 为了方便我们学习,将操作不同数据类型的命令也做了分组,在 官网 可以查看到不同的命令.


Redis 通用命令

通用指令是部分数据类型的,都可以使用的指令,常见的有:

  • KEYS:查看符合模板的所有key
  • DEL:删除一个指定的key
  • EXISTS:判断key是否存在
  • EXPIRE:给一个key设置有效期,有效期到期时该key会被自动删除
  • TTL:查看一个KEY的剩余有效期

通过 help [command] 可以查看一个命令的具体用法,例如:

在这里插入图片描述

命令演示

KEYS

127.0.0.1:6379> keys *
1) "name"
2) "age"
127.0.0.1:6379># 查询以a开头的key
127.0.0.1:6379> keys a*
1) "age"
127.0.0.1:6379>

DEL

127.0.0.1:6379> help delDEL key [key ...]summary: Delete a keysince: 1.0.0group: generic127.0.0.1:6379> del name #删除单个
(integer) 1  #成功删除1个127.0.0.1:6379> keys *
1) "age"127.0.0.1:6379> MSET k1 v1 k2 v2 k3 v3 #批量添加数据
OK127.0.0.1:6379> keys *
1) "k3"
2) "k2"
3) "k1"
4) "age"127.0.0.1:6379> del k1 k2 k3 k4
(integer) 3   #此处返回的是成功删除的key,由于redis中只有k1,k2,k3 所以只成功删除3个,最终返回
127.0.0.1:6379>127.0.0.1:6379> keys * #再查询全部的key
1) "age"	#只剩下一个了
127.0.0.1:6379>

EXISTS

127.0.0.1:6379> help EXISTSEXISTS key [key ...]summary: Determine if a key existssince: 1.0.0group: generic127.0.0.1:6379> exists age
(integer) 1127.0.0.1:6379> exists name
(integer) 0

EXPIRE

127.0.0.1:6379> expire age 10
(integer) 1127.0.0.1:6379> ttl age
(integer) 8127.0.0.1:6379> ttl age
(integer) 6127.0.0.1:6379> ttl age
(integer) -2127.0.0.1:6379> ttl age
(integer) -2  #当这个key过期了,那么此时查询出来就是-2 127.0.0.1:6379> keys *
(empty list or set)127.0.0.1:6379> set age 10 #如果没有设置过期时间
OK127.0.0.1:6379> ttl age
(integer) -1  # ttl的返回值就是-1

RedisTemplate 中的通用命令

我们在实际项目中操作 Redis 更多是通过 封装的 Redis 命令的根据去完成的, 例如: 在 RedisTemplate 中使用 Redis 的通用命令,可以通过 RedisTemplate 的操作方法进行调用。以下是一些常用的通用命令以及它们在 RedisTemplate 中的使用示例:

  1. 设置键值对

SET key value: 设置指定键的值。

redisTemplate.opsForValue().set("myKey", "myValue");

GET key: 获取指定键的值。

String value = (String) redisTemplate.opsForValue().get("myKey");
  1. 删除键
    DEL key [key …]: 删除指定的一个或多个键。
redisTemplate.delete("myKey");
  1. 判断键是否存在
    EXISTS key: 判断指定的键是否存在。
boolean exists = redisTemplate.hasKey("myKey");
  1. 设置过期时间
    EXPIRE key seconds: 设置指定键的过期时间(秒)。
redisTemplate.expire("myKey", 60, TimeUnit.SECONDS);
  1. 获取键的剩余过期时间
    TTL key: 获取指定键的剩余过期时间(秒)。
Long ttl = redisTemplate.getExpire("myKey");
  1. 其他操作

INCR key: 将指定键的值递增1。

redisTemplate.opsForValue().increment("myKey");

DECR key: 将指定键的值递减1。

redisTemplate.opsForValue().decrement("myKey");

这些是 Redis 中的一些通用命令以及它们在 RedisTemplate 中的使用方法,通过 RedisTemplate 可以方便地与 Redis 进行交互,并实现各种数据操作。





在这里插入图片描述



相关文章:

一篇文章拿下Redis 通用命令

文章目录 Redis数据结构介绍Redis 通用命令命令演示KEYSDELEXISTSEXPIRE RedisTemplate 中的通用命令 本篇文章介绍 Redis 的通用命令, 通用命令在 Redis 的所有数据类型下都使用, 学好通用命令可以让我们更好的使用 Redis. Redis数据结构介绍 Redis 是一个key-value的数据库&…...

锂电池充电充放电曲线分析

前言 锂电池的充电曲线通常包括三个阶段:恒流充电阶段、恒压充电阶段和滞后充电阶段。在恒流充电阶段,电流保持恒定,电压逐渐增加;在恒压充电阶段,电压保持恒定,电流逐渐减小;在滞后充电阶段,电流进一步减小,电池开始充满。通过监测这些阶段的电流和电压变化,可以评…...

vue3 第二十九节 (vue3 事件循环之nextTick)

引言 vue 项目中为什么要使用 nextTick 这个函数,是做什么用的,解决了哪些问题 1、nextTick 作用 用于处理DOM更新完成之后,执行回调函数的方法; 2、实现方案 vue2 中 nextTick() 是基于浏览器的 异步队列和微任务队列而执行…...

使用Flask-SocketIO构建实时Web应用

文章目录 准备工作编写代码编写HTML模板运行应用 随着互联网的发展,实时性成为了许多Web应用的重要需求之一。传统的HTTP协议虽然可以实现实时通信,但是其长轮询等机制效率低下,无法满足高并发、低延迟的需求。为了解决这一问题,诞…...

可重构柔性装配产线:为工业制造领域注入了新的活力

随着科技的飞速发展,智能制造正逐渐成为引领工业革新的重要力量。在这一浪潮中,可重构柔性装配产线以其独特的技术优势和创新理念,为工业制造领域注入了新的活力,开启了创新驱动的智能制造新篇章。 可重构柔性装配产线是基于富唯智…...

懒人网址导航源码v3.9

测试环境 宝塔Nginx -Tengine2.2.3的PHP5.6 MySQL5.6.44 为防止调试错误,建议使用测试环境运行的php与mysql版本 首先用phpMyAdmin导入数据库文件db/db.sql 如果导入不行,请直接复制数据库内容运行sql语句也可以 再修改config.php来进行数据库配置…...

springboot 开启缓存 @EnableCaching(使用redis)

添加依赖 pom.xml <dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-data-redis</artifactId> </dependency>application.yml 配置redis连参数 spring:# redis 配置redis:# 地址host: 127.0.0.…...

Adobe After Effects AE v24.3.0 解锁版 (视频合成及视频特效制作)

Adobe系列软件安装目录 一、Adobe Photoshop PS 25.6.0 解锁版 (最流行的图像设计软件) 二、Adobe Media Encoder ME v24.3.0 解锁版 (视频和音频编码渲染工具) 三、Adobe Premiere Pro v24.3.0 解锁版 (领先的视频编辑软件) 四、Adobe After Effects AE v24.3.0 解锁版 (视…...

Qt---文件系统

一、基本文件操作 1. QFile对文件进行读和写 QFile file( path 文件路径) 读&#xff1a; file.open(打开方式) QlODevice::readOnly 全部读取->file.readAll()&#xff0c;按行读->file.readLine()&#xff0c;atend()->判断是否读到文件尾 …...

ruoyi-vue-pro 使用记录(2)

ruoyi-vue-pro 使用记录&#xff08;2&#xff09; 数据库商城商品模块数据表营销数据库交易数据库统计数据库 数据库 商城 参考官方文档 ruoyi-vue-pro yudao 项目商城 mall 模块启用及相关SQL脚本 商品模块&#xff08;中心&#xff09;以 product_ 作为前缀的表交易模块…...

centos7中如何全局搜索一下nginx的配置文件?

在CentOS 7中搜索Nginx的配置文件&#xff0c;你可以使用一些常用的命令行工具&#xff0c;比如find、grep等。这些工具可以帮助你在文件系统中查找文件&#xff0c;也可以用来查找Docker容器内部的文件&#xff0c;只要你知道如何访问容器的文件系统。 1. 搜索系统中的Nginx配…...

2024年5月10日有感复盘

2024年5月10日有感复盘 时间 今天是一个很美好的一天&#xff0c;原因是很平凡&#xff0c;读书很平凡&#xff0c;玩游戏很平凡&#xff0c;然后生活很平凡&#xff0c;未来可期&#xff0c;听歌很舒服&#xff0c;很喜欢一个人呆在图书馆的感觉&#xff0c;很喜欢发呆&…...

C++通过json文件配置参数

一、安装nlohmann json nlohmann json&#xff1a;安装_nlohmann安装-CSDN博客 依次执行下面指令&#xff1a; git clone https://gitee.com/cuihongxi/mov_from_github.gitcd json-developmkdir buildcd buildcmake ..makesudo make install 二、安装完成后使用 #include…...

idea连接远程仓库

git ->克隆。 url为远程仓库的地址&#xff0c;输入好后&#xff0c;选择项目存放目录&#xff0c;再点击克隆 点击新窗口打开。 切换到对应分支...

初始Django

初始Django 一、Django的历史 ​ Django 是从真实世界的应用中成长起来的&#xff0c;它是由堪萨斯&#xff08;Kansas&#xff09;州 Lawrence 城中的一个网络开发小组编写的。它诞生于 2003 年秋天&#xff0c;那时 Lawrence Journal-World 报纸的程序员 Adrian Holovaty 和…...

leetcode56--合并区间

题目描述 以数组 intervals 表示若干个区间的集合&#xff0c;其中单个区间为 intervals[i] [starti, endi] 。请你合并所有重叠的区间&#xff0c;并返回 一个不重叠的区间数组&#xff0c;该数组需恰好覆盖输入中的所有区间 。 示例 1&#xff1a; 输入&#xff1a;interv…...

赋能数据库智能托管,Akamai 发布首款云计算业务线产品!

为了尽可能地简化数据库管理的复杂性&#xff0c;降低数据库成本&#xff0c;Akamai 在近期推出了首款 DBaaS&#xff08;数据库即服务&#xff09;产品——Linode Managed Database。这一数据库产品是 Akamai 自3月份收购 Linode 后发布的首款计算业务线产品。 一、更易用的数…...

Go语言系统学习笔记(三):杂项篇

1. 写在前面 公司的新业务开发需要用到go语言&#xff0c;虽然之前没接触过这门语言&#xff0c;但在大模型的帮助下&#xff0c;边看项目边写代码也能进行go的项目开发&#xff0c;不过&#xff0c;写了一段时间代码之后&#xff0c;总感觉对go语言本身&#xff0c;我的知识体…...

黄仁勋炉边对话:创业的超能力与英伟达的加速计算之旅

在TiECon 2024大会上&#xff0c;英伟达的创始人兼CEO黄仁勋与风投公司Mayfield的管理合伙人纳文查德哈进行了一场深入的炉边对话。黄仁勋不仅分享了英伟达的创业故事&#xff0c;还谈到了他对创业和加速计算的深刻见解。下面是我对这次对话的总结&#xff0c;希望能给正在创业…...

.NET开源、功能强大、跨平台的图表库LiveChart2

LiveCharts2 是 从LiveCharts演变而来,它修复了其前身的主要设计问题,它专注于在任何地方运行,提高了灵活性,并继承LiveCharts原有功能。 极其灵活的数据展示图库 (效果图) 开始使用 Live charts 是 .Net 的跨平台图表库,请访问 https://livecharts.dev 并查看目标平…...

Java 性能优化最佳实践:构建高性能的 Java 应用

Java 性能优化最佳实践&#xff1a;构建高性能的 Java 应用 别叫我大神&#xff0c;叫我 Alex 就好。 一、引言 大家好&#xff0c;我是 Alex。性能优化是 Java 开发中非常重要的一个环节&#xff0c;它直接影响到应用的用户体验和资源利用效率。在当今竞争激烈的市场环境中&a…...

洛雪音乐音源:全网无损音乐一键获取的完整指南

洛雪音乐音源&#xff1a;全网无损音乐一键获取的完整指南 【免费下载链接】lxmusic- lxmusic(洛雪音乐)全网最新最全音源 项目地址: https://gitcode.com/gh_mirrors/lx/lxmusic- 还在为音乐平台会员费烦恼吗&#xff1f;想要免费畅听全网无损音乐吗&#xff1f;洛雪音…...

Python flask django框架的医疗问诊拿药系统

目录同行可拿货,招校园代理 ,本人源头供货商功能分析&#xff1a;基于Flask/Django的医疗问诊拿药系统核心模块划分技术实现要点数据安全与合规扩展性设计项目技术支持源码获取详细视频演示 &#xff1a;文章底部获取博主联系方式&#xff01;同行可合作同行可拿货,招校园代理 …...

开源辅助工具YimMenu:GTA5安全使用指南与进阶技巧

开源辅助工具YimMenu&#xff1a;GTA5安全使用指南与进阶技巧 【免费下载链接】YimMenu YimMenu, a GTA V menu protecting against a wide ranges of the public crashes and improving the overall experience. 项目地址: https://gitcode.com/GitHub_Trending/yi/YimMenu …...

G-Helper完整指南:华硕笔记本的终极轻量级控制工具

G-Helper完整指南&#xff1a;华硕笔记本的终极轻量级控制工具 【免费下载链接】g-helper Lightweight, open-source control tool for ASUS laptops and ROG Ally. Manage performance modes, fans, GPU, battery, and RGB lighting across Zephyrus, Flow, TUF, Strix, Scar,…...

三天踩坑实录:用Pyinstaller打包PaddleOCR+PyQt5桌面应用,我总结的这份spec文件配置清单请收好

从崩溃到优雅&#xff1a;PaddleOCRPyQt5打包终极配置指南 打包PaddleOCR和PyQt5组合的桌面应用&#xff0c;就像在迷宫中寻找出口——每个转角都可能遇到新的障碍。经过72小时的反复试错和数十次失败构建后&#xff0c;我终于整理出一套稳定可靠的spec文件配置方案。这份指南不…...

OpenClaw技能组合技:Qwen3-14b_int4_awq串联多个自动化流程

OpenClaw技能组合技&#xff1a;Qwen3-14b_int4_awq串联多个自动化流程 1. 为什么需要技能组合技&#xff1f; 去年我接手了一个数据收集项目&#xff0c;需要每天从10个不同网站爬取数据&#xff0c;清洗后生成报告并通过邮件发送给团队成员。最初我尝试手动操作&#xff0c…...

Jenkins Pipeline 脚本踩坑记:我是如何被两种语法折磨并最终选择的

最近在折腾公司的 CI/CD 流水线&#xff0c;想把原来那套老掉牙的构建脚本升级一下。本以为 Jenkins Pipeline 挺简单的&#xff0c;结果一上手就懵了——竟然有两种写法&#xff01;这不是逼死选择困难症吗&#xff1f; 我当时的内心OS&#xff1a;这玩意儿就像去饭店点菜&am…...

六挡手动齿轮变速器设计【说明书、CAD图纸、 开题报告、任务书 ……】

六挡手动齿轮变速器作为汽车传动系统的核心部件&#xff0c;其设计需兼顾动力传递效率与驾驶操控性。该变速器通过齿轮组的啮合与分离实现六个前进挡位的切换&#xff0c;每个挡位对应不同的齿轮传动比&#xff0c;既能满足车辆起步时的大扭矩需求&#xff0c;也能在高速巡航时…...

手把手教你用Multisim仿真二阶低通滤波器(附三种类型对比)

手把手教你用Multisim仿真二阶低通滤波器&#xff08;附三种类型对比&#xff09; 在电子电路设计中&#xff0c;滤波器扮演着至关重要的角色&#xff0c;它能有效分离信号中的特定频率成分。二阶低通滤波器作为基础电路拓扑&#xff0c;广泛应用于音频处理、传感器信号调理等领…...