Redis 命令全解析之 String类型

文章目录

  • ⛄String 介绍
  • ⛄命令
  • ⛄对应 RedisTemplate API
  • ⛄应用场景


在这里插入图片描述

⛄String 介绍

在这里插入图片描述

String 类型,也就是字符串类型,是Redis中最简单的存储类型。

其value是字符串,不过根据字符串的格式不同,又可以分为3类:
● string:普通字符串
● int:整数类型,可以做自增.自减操作
● float:浮点类型,可以做自增.自减操作

不管是哪种格式,底层都是字节数组形式存储,只不过是编码方式不同。字符串类型的最大空间不能超过 512 MB

Redis String命令


⛄命令

🍎🍎String的常见命令有🍎🍎:
SET:添加或者修改已经存在的一个 String 类型的键值对
GET:根据 key 获取 String 类型的 value
MSET:批量添加多个String类型的键值对
MGET:根据多个 key 获取多个 String 类型的 value
INCR:让一个整型的key自增1
INCRBY:让一个整型的 key 自增并指定步长,例如:incrby num 2 让num值自增2
INCRBYFLOAT:让一个浮点类型的数字自增并指定步长
SETNX:添加一个 String 类型的键值对,前提是这个 key 不存在,否则不执行
SETEX:添加一个 String 类型的键值对,并且指定有效期


⛄对应 RedisTemplate API

ValueOperations ops = redisTemplate.opsForValue();//	单独设置有效期(不推荐单独用)
ops.expire("StringKey",1,TimeUnit.MINUTES);//	设置值 and 有效期(推荐这种)
ops.set("key", "value", 1, TimeUnit.MINUTES);//	操作数值 增加 减少(INCR INCRBY)
ops.increment("key", 1);
ops.increment("key", -1);//	(SETNX + SETEX):这个key不存在执行 存在则不执行,多用于互斥锁
ops.setIfAbsent("key", "value", 10, TimeUnit.SECONDS)//	获取缓存值
ops.get("StringKey");

⛄应用场景

下面列举了一些Redis String类型的应用场景:

  • 缓存:使用String保存缓存信息,如用户会话状态、web页面片段、数据库查询结果等。

  • 计数器:使用incr/decr命令实现对计数器的自增和自减,如网站访问量、文件下载次数、商品销售量等。

  • 消息队列:使用LPUSH/RPUSH命令实现队列的入队(左插入)和出队(右取出),同时使用BLPOP/BRPOP命令进行阻塞式弹出等待的消息。

  • id生成器:使用incr命令实现简单id生成,解决分布式系统节点间数据生成的问题。

  • 分布式锁:通过SETNX命令结合时间戳或随机字符串等实现互斥锁的获取和释放,避免并发写操作时数据的不一致。

  • 商品价格:使用String保存商品价格,动态更新价格避免价格无法及时调整。

  • Session共享:将session信息以key-value方式保存到redis中并设置过期时间,完成session共享功能,类似于分布式缓存。



在这里插入图片描述



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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

使用 PyTorch 进行 K 折交叉验证

一、说明 中号机器学习模型在训练后必须使用测试集进行评估。我们这样做是为了确保模型不会过度拟合,并确保它们适用于现实生活中的数据集,与训练集相比,现实数据集的分布可能略有偏差。 但为了使您的模型真正稳健,仅仅通过训练/测…

mysql5.6密码忘记重置

在 MySQL 5.6 中,使用 ALTER USER 语句来修改用户密码是不支持的。可以使用以下步骤来重置 root 用户密码: 停止 MySQL 服务。 在终端中执行以下命令: systemctl stop mysql启动 MySQL 服务,并跳过权限验证。 在终端中执行以下命…

oracle 19c创建db_link名称带.com域名问题处理

文章目录 一、修改PDB的global_name二、重启数据库实例三、修改domain后重试 一、修改PDB的global_name SYSorcl1>sho pdbsCON_ID CON_NAME OPEN MODE RESTRICTED ---------- ------------------------------ ---------- ----------2 PDB$SEED …

从遍历到A星寻路算法

在游戏当中,经常需要找一个点到其它点的路径。在之前的一篇博文(地图编辑器开发(三))中也有使用到到A*寻路算法。我们期望能找到最短的路径,同时也需要考虑到查找路径的时间消耗。游戏中的地图可以图的数据结构来表示,…

ThreadPoolExecutor应用源码剖析(四)

3.3.8 ThreadPoolExecutor的关闭方法 首先查看shutdownNow方法&#xff0c;可以从RUNNING状态转变为STOP // shutDownNow方法&#xff0c;shutdownNow不会处理阻塞队列的任务&#xff0c;将任务全部给你返回了。 public List<Runnable> shutdownNow() { // 声明返回结果…

LeetCode双指针:第一个错误的版本

LeetCode双指针&#xff1a;第一个错误的版本 题目描述 你是产品经理&#xff0c;目前正在带领一个团队开发新的产品。不幸的是&#xff0c;你的产品的最新版本没有通过质量检测。由于每个版本都是基于之前的版本开发的&#xff0c;所以错误的版本之后的所有版本都是错的。 …

2023年【危险化学品经营单位主要负责人】及危险化学品经营单位主要负责人模拟考试

题库来源&#xff1a;安全生产模拟考试一点通公众号小程序 危险化学品经营单位主要负责人根据新危险化学品经营单位主要负责人考试大纲要求&#xff0c;安全生产模拟考试一点通将危险化学品经营单位主要负责人模拟考试试题进行汇编&#xff0c;组成一套危险化学品经营单位主要…

深度优先搜索(DFS)LeetCode 2477. 到达首都的最少油耗

2477. 到达首都的最少油耗 给你一棵 n 个节点的树&#xff08;一个无向、连通、无环图&#xff09;&#xff0c;每个节点表示一个城市&#xff0c;编号从 0 到 n - 1 &#xff0c;且恰好有 n - 1 条路。0 是首都。给你一个二维整数数组 roads &#xff0c;其中 roads[i] [ai,…

(十四)Flask之闪现flash

闪现—flash 这可不是LOL或是王者荣耀里的闪现哦~ Flask 中的 “闪现”&#xff08;flash&#xff09;是一种在请求之间传递消息的机制。它允许你将一条消息保存在一个请求中&#xff0c;在下一个请求中获取并显示该消息&#xff0c;然后立即将其删除【设置完之后阅后即焚&am…

Day14——数据结构和集合源码

1.数据结构 简单来说&#xff0c;数据结构&#xff0c;就是一种程序设计优化的方法论&#xff0c;研究数据的逻辑结构和物理结构以及它们之间相互关系&#xff0c;并对这种结构定义相应的运算&#xff0c;目的是加快程序的执行速度、减少内存占用的空间。 1.1 数据的逻辑结构…

小航助学题库白名单竞赛考级蓝桥杯等考scratch(12级)(含题库教师学生账号)

需要在线模拟训练的题库账号请点击 小航助学编程在线模拟试卷系统&#xff08;含题库答题软件账号&#xff09; 需要在线模拟训练的题库账号请点击 小航助学编程在线模拟试卷系统&#xff08;含题库答题软件账号&#xff09;

webpack学习-2.管理资源

webpack学习-2.管理资源 1.这章要干嘛2.加载css注意顺序&#xff01; 3.总结 1.这章要干嘛 管理资源&#xff0c;什么意思呢&#xff1f;管理什么资源&#xff1f;项目中经常会 导入各种各样的css文件&#xff0c;图片文件&#xff0c;字体文件&#xff0c;数据文件等等&#…

C#-并行编程的概念及其运用

目录 一、介绍 二、并行编程 1、Parallel类 2、Timer类 1、使用Timer类 一、介绍 并行编程实际就是同一时间处理不同任务&#xff0c;可分为数据并行性&#xff08;在不同任务间同时处理相同数据&#xff09;和任务并行性&#xff08;同时执行不同的功能&#xff09;&…

一个潜水多年的体制内的生意人来实际谈谈老百姓该怎么办?

建议大家去看看天涯神贴《一个潜水多年的体制内的生意人来实际谈谈老百姓该怎么办&#xff1f;》 天涯神帖&#xff1a;《一个潜水多年的体制内的生意人来实际谈谈老百姓该怎么办&#xff1f;》 原作者&#xff1a;龙卧草庐 原文PDF链接&#xff1a;https://pan.quark.cn/s/7f8…

qt相关宏

官网宏&#xff1a; https://doc.qt.io/qt-5/qtglobal.html Q_UNLIKELY&#xff08;expr&#xff09;&#xff1a; 向编译器提示封闭条件&#xff0c;expr&#xff0c;很可能评估为false。 使用该宏可以帮助编译器优化代码。 Q_LIKELY&#xff08;expr&#xff09;&#xff1a;…

(整理中)01 - 模块机制

---- 整理自 王利涛老师 课程 文章目录 1. 可加载模块1.1 Linux内核的模块机制1.2 实验&#xff1a;hello模块1.3 内核模块的构成 KDIR : ${PWD}/../../linux-5.10.4clean:make -C ( K D I R ) M (KDIR) M (KDIR)M(PWD) modules cleanKDIR : ${PWD}/../../linux-5.10.4clean:…

Vue3网站用户引导功能【Intro.js】

一、介绍 Intro.js 是一个用于创建网站用户引导、功能介绍和教程的 JavaScript 库。它允许开发者通过步骤和提示突出显示网站上的特定元素&#xff0c;以帮助用户更好地了解和使用网站的功能。以下是 Intro.js 的一些关键特点和用法介绍&#xff1a; 更多Intro.js 功能网址&a…

mac批量修改图片格式

1. 当前窗口在word文档&#xff0c;选择工具-》宏-》点击宏 2. 弹出弹框&#xff0c;起个宏名1&#xff0c;点击2添加一个宏。 输入以下代码&#xff1a; Sub 图片格式统一()图片格式统一 宏Dim iDim Height, WeightHeight 200 改成自己的高度Weight 350 改成自己的宽度On E…

STM32-GPIO

一、GPIO简介 GPIO&#xff08;General Purpose Input Output&#xff09;通用输入输出口 可配置8种输入输出模式 引脚电平&#xff1a;0V~3.3V&#xff0c;部分引脚可容忍5V 输出模式下&#xff1a;可控制端口输出高低电平&#xff0c;用以驱动LED、控制蜂鸣器、模拟通信协议输…

MIT_线性代数笔记:第 12 讲 图、网络、关联矩阵

目录 图和网络 Graphs & Networks关联矩阵&#xff08;Incidence matrices&#xff09;矩阵的零空间矩阵列空间矩阵的左零空间矩阵的行空间 本讲讨论线性代数在物理系统中的应用。 图和网络 Graphs & Networks “图”就是“结点”和“边”的一个集合。 边线上的箭头代…