一篇文章拿下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 del

  DEL key [key ...]
  summary: Delete a key
  since: 1.0.0
  group: generic

127.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 #批量添加数据
OK

127.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 EXISTS

  EXISTS key [key ...]
  summary: Determine if a key exists
  since: 1.0.0
  group: generic

127.0.0.1:6379> exists age
(integer) 1

127.0.0.1:6379> exists name
(integer) 0

EXPIRE

127.0.0.1:6379> expire age 10
(integer) 1

127.0.0.1:6379> ttl age
(integer) 8

127.0.0.1:6379> ttl age
(integer) 6

127.0.0.1:6379> ttl age
(integer) -2

127.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 #如果没有设置过期时间
OK

127.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 进行交互,并实现各种数据操作。





在这里插入图片描述



本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/623365.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

cookie、session、token、表单、json、jsonp、websocket、ajax都是什么

前后端数据交互的几种方式 1.cookie Cookie是服务器保存在客户端的一小段数据,(使用Cookie的前提是客户端浏览器允许使用Cookie并对此做出相应的设置。) cookie是一种存储在用户计算机上的小型数据文件,常用于在web应用程序中跟…

postgis导出shp中文乱码

使用postgis导出shp数据,发现中文内容乱码 网上搜到的解决方案,都是添加环境变量PGCLIENTENCODINGGBK 但是添加之后,不仅没有解决我的问题,反而导出直接报错了 经过个人简单分析之后,发现这个应该跟导入的数据编码格…

Jmeter(三十九) - 从入门到精通进阶篇 - Jmeter配置文件的刨根问底 - 上篇(详解教程)

宏哥微信粉丝群:https://bbs.csdn.net/topics/618423372 有兴趣的可以扫码加入 1.简介 为什么宏哥要对Jmeter的配置文件进行一下讲解了,因为有的童鞋或者小伙伴在测试中遇到一些需要修改配置文件的问题不是很清楚也不是很懂,就算修改了也是…

ALV 可编辑性(二)

前言 前面介绍了Abap ALV的整体可编辑、列可编辑和单元格可编辑,但是有时会有根据行项目某个字段的值来控制其他单元格的可编辑性的需求,其中还涉及到ALV刷新的功能。 实战 单元格数据修改后自动刷新 单元格中的数据被修改后,将ALV单元格中的…

人工智能|深度学习——PlotNeuralNet简单教程

一、简介 PlotNeuralNet是一个强大的开源Python库,它专为简化和美化神经网络图的绘制而设计 二、安装 需要下载的工具包括:MikTeX,Python代码编辑器(这个肯定会有的吧),Git bash(可选)&#xff…

【设计模式】JAVA Design Patterns——Abstract-document(抽象文档模式)

🔍 目的 使用动态属性,并在保持类型安全的同时实现非类型化语言的灵活性。 🔍 解释 抽象文档模式使您能够处理其他非静态属性。 此模式使用特征的概念来实现类型安全,并将不同类的属性分离为一组接口 真实世界例子 考虑由多个部…

O2OA翱途开发平台前端API和后端API的访问以及使用

O2OA是一个高度可定制化的企业级开发平台,它的API(应用程序接口)分为前端和后端,各自有不同的用途,平台为用户开放了全部的后端API供开发者使用,开发者可以根据各类API组织出符合实际业务需求的新服务或者新…

分享一个基于Qt的Ymodem的上位机(GitHub开源)

文章目录 1.项目地址2.Ymodem 协议介绍3.文件传输过程4.使用5.SecureCRT 软件也支持Ymodem6.基于PyQt5的Ymodem界面实现案例 1.项目地址 https://github.com/XinLiGH/SerialPortYmodem 基于VS2019 Qt5.15.2 编译,Linux下编译也可以,这里不做说明。 2.…

C语言指针详解(三)

目录 前言 一. 回调函数是什么? 1.定义 2. 代码示例:计数器 2.1 使用回调函数改造前 2.2 使用回调函数改造后 二. qsort使用举例 1. qsort介绍 2. 使用qsort函数排序整型数据 3. 使用qsort排序结构体数据 三. qsort函数的模拟实现 四. sizeo…

【其他学习参考文档记录】

交叉编译学习参考 nodejs 交叉编译-cliff工作室

污水设备远程监控

随着环保意识的日益增强,污水处理作为城市建设和环境保护的重要一环,越来越受到社会各界的关注。然而,传统的污水处理设备管理方式往往存在着效率低下、响应速度慢、维护成本高等问题。为了解决这些痛点,HiWoo Cloud平台凭借其强大…

N 皇后 - LeetCode 热题 62

大家好!我是曾续缘🧡 今天是《LeetCode 热题 100》系列 发车第 62 天 回溯第 8 题 ❤️点赞 👍 收藏 ⭐再看,养成习惯 N 皇后 按照国际象棋的规则,皇后可以攻击与之处在同一行或同一列或同一斜线上的棋子。 n 皇后问题…

大模型崛起与就业危机

大模型,特别是像我这样的人工智能,最有可能首先替代那些重复性高、标准化程度高、不需要太多人类直觉和情感判断的工作。这些工作通常包括数据输入、初级数据分析和处理、简单的客户服务任务等。例如,可以自动化的一些岗位包括: 1…

将视觉语言模型训练为智能手机助手

24年4月Agile Loop和德国弗赖堡大学的论文“Training A Vision Language Model As Smartphone Assistant”。 为了解决能够执行各种用户任务的数字助理挑战,该研究重点是基于指令的移动设备控制域。 用大语言模型 (LLM) 的最新进展,本文提出一种可以在移…

如何通过 AWS Managed Apache Flink 实现 Iceberg 的实时同步

AWS Managed Apache Flink (以下以 MSF 代指)是 AWS 提供的一款 Serverless 的 Flink 服务。 1. 问题 大家在使用 MSF 的时候,可能遇到最大的一个问题就是 MSF 的依赖管理,很多时候在 Flink 上运行的代码,托管到 MAF…

CV每日论文--2024.5.10

1、Attention-Driven Training-Free Efficiency Enhancement of Diffusion Models 中文标题:扩散模型的注意力驱动的训练免费效率增强 简介:扩散模型在生成高质量和多样化图像方面取得了出色的表现,但其卓越性能是以昂贵的架构设计为代价的,特别是广泛使…

1727jsp思想政治活动Myeclipse开发mysql数据库web结构java编程计算机网页项目

一、源码特点 JSP 思想政治活动管理系统 是一套完善的web设计系统,对理解JSP java编程开发语言有帮助,系统具有完整的源代码和数据库,系统采用web模式,系统主要采用B/S模式开发。开发环境为TOMCAT7.0,Myeclipse8.5开发&#xff…

【VTKExamples::Rendering】第十期 TestStippledLine

很高兴在雪易的CSDN遇见你 VTK技术爱好者 QQ:870202403 公众号:VTK忠粉 前言 本文分享VTK样例TestStippledLine,希望对各位小伙伴有所帮助! 感谢各位小伙伴的点赞+关注,小易会继续努力分享,一起进步! 你的点赞就是我的动力(^U^)ノ~YO 1. TestStippledLin…

【机器学习】机器学习与人工智能融合新篇章:自适应智能代理在多元化复杂环境中的创新应用与演进趋势

🔒文章目录: 💥1.引言 🚋1.1 机器学习与人工智能的发展背景 🚌1.2 自适应智能代理的概念与重要性 🚐1.3 研究目的与意义 ☔2.自适应智能代理的关键技术 🛣️2.1 环境感知与信息处理技术 …

JavaEE技术之SpringCloud(Nacos注册中心、Nacos配置中心、Sentinel实现熔断与限流)

文章目录 SpringCloud Alibaba1、简介1.1 背景1.2 Nacos主要功能1.3 Nacos和SpringBoot、SpringCloud版本选择 2、Nacos注册中心2.1 案例准备2.2 Nacos注册中心下载启动2.2.1 下载2.2.2 解压启动2.2.3 nacos-server访问测试 2.3 nacos注册中心客户端整合2.3.1 订单服务整合naco…