①Redis String 字符串类型【命令汇总】

news2024/12/26 9:25:37

在这里插入图片描述

个人简介:Java领域新星创作者;阿里云技术博主、星级博主、专家博主;正在Java学习的路上摸爬滚打,记录学习的过程~
个人主页:.29.的博客
学习社区:进去逛一逛~

在这里插入图片描述

Redis String

  • ①Redis String 字符串类型【命令汇总】
      • 1. set key value 设置指定key的值
      • 2. get key 获取指定key的值
      • 3. mset key value 设置多个键值
      • 4. mget key 获取多个指定键的值
      • 5. msetnx key value 设置多个键值(键不存在为前提)
      • 6. getrange 获取指定范围内的值
      • 7. setrange 设置指定范围的值
      • 8. incr key 递增数字
      • 9. decr key 递减数字
      • 10.incrby 增加指定的整数
      • 11.decrby 减去指定的整数
      • 12. strlen key 获取指定键的值长度(字符串长度)
      • 13. append 内容追加
      • 14. setex 设置带过期时间的key
      • 15. setnx 设置指定key的值(key不存在为前提)
      • 16. getset 设置指定key的值并返回旧值


①Redis String 字符串类型【命令汇总】



命令不区分大小写,而key是区分大小写的


始终实用的帮助命令,不会用就找它:help @类型

help @string
help @list
help @hash

1. set key value 设置指定key的值



set key value [NX|XX] [GET] [EX seconds|PX milliseconds|EXAT unix-time-seconds|PXAT unix-time-milliseconds|KEEPTTL]

set key value [NX|XX] [GET] [EX seconds|PX milliseconds|EXAT unix-time-seconds|PXAT unix-time-milliseconds|KEEPTTL]

SET命令有EXPXNXXXKEEPTLL五个可选参数,其中KEEPTLL为6.0版本添加的可选参数,其他为2.6.12版本添加的可选参数。

  • EX seconds:以秒为单位,设置过期时间
  • PX milliseconds:以毫秒为单位,设置过期时间
  • EXAT timestamp:设置以秒为单位的UNIX时间戳所对应的时间为过期时间
  • PXAT milliseconds-timestamp:设置以毫秒为单位的UNIX时间戳所对应的时间为过期时间
  • NX:当键不存在的时候,设置键值
  • XX:当键存在的时候,设置键值
  • KEEPTLL:保存设置前指定键的生存时间
  • GET:返回指定键原本的值,若键不存在时返回nil

SET命令使用EXPXNX参数,效果等同于SETEXPSETEXSETNX命令,根据官方文档描述:SETEXPSETEXSETNX命令未来可能会被淘汰。

EXATPXATGET参数为Redis6.2新增的可选参数。


返回值

  • 设置成功则返回OK
  • 返回nil代表未执行SET命令,如不满足NX、XX条件等情况
  • 若使用SET参数,则返回键原本的值,若键不存在则返回nil

set k1 v1       # 设置键k1值为v1

set k2 v2 ex 10 # 设置键k2值为v2,十秒后过期

ttl k2          # 查看k2的过期时间

# 十秒后,k2过期了...
set k2 v2 px 9000 # 设置键k2值为v2,9000毫秒后过期

# 九秒后,k2又过期了...
set k2 v2 nx    # 当k2不存在时,创建设置键k2值为v2
set k2 v22 xx   # 当k2存在时,设置键k2的值为v22



2. get key 获取指定key的值



get key

get k1 # 获取k1的值
get k2 # 获取k2的值

k3不存在,返回空

在这里插入图片描述



3. mset key value 设置多个键值



mset key value [key value ...]


# 设置多个键值:kk1 vv1、kk2 vv2、kk3 vv3
mset kk1 vv1 kk2 vv2 kk3 vv3

在这里插入图片描述



4. mget key 获取多个指定键的值



mget key [key ...]


# 一次获取多个键的值
mget k1 k2 kk1 kk2 kk3

在这里插入图片描述



5. msetnx key value 设置多个键值(键不存在为前提)


msetnx key value [key value ...]


# 键a不存在,创建成功
msetnx a a
# 键a存在,键b不存在,创建不成功
msetnx a a b b
# !多个键值中,只要出现不符合条件的键值,msetnx命令就不会执行!

在这里插入图片描述



6. getrange 获取指定范围内的值


getrange key start end


# 获取k1键所有下标范围内的值
getrange k1 0 -1
# 获取k1键下标0-3范围内的值
getrange k1 0 3

在这里插入图片描述



7. setrange 设置指定范围的值


setrange key offset value


# 设置k1键从下标0开始区间范围的值,返回值是当前k1键的值的长度
setrange k1 0 xxxx

在这里插入图片描述



8. incr key 递增数字


一定要是数字才能进行加减


incr key


# 递增K2键的值
incr k2

在这里插入图片描述



9. decr key 递减数字


一定要是数字才能进行加减


decr key


# 递减K2键的值
decr k2

在这里插入图片描述



10.incrby 增加指定的整数


一定要是数字才能进行加减


incrby key decrement


# 为k2键的值增加90
incrby k2 90

在这里插入图片描述



11.decrby 减去指定的整数


一定要是数字才能进行加减


decrby key decrement


# 为k2键的值减去100
decrby k2 100

在这里插入图片描述



12. strlen key 获取指定键的值长度(字符串长度)


strlen key


# 获取k1键的值的字符串长度
strlen k1

strlen k2
strlen kk1
strlen kk2
strlen kk3

在这里插入图片描述



13. append 内容追加


append key value


#向k1键的值最佳内容"ooooo"
append k1 ooooo

在这里插入图片描述



14. setex 设置带过期时间的key


setex key seconds value


# 设置键值对 k3 v3,过期时间为10秒
setex k3 10 v3

在这里插入图片描述



15. setnx 设置指定key的值(key不存在为前提)


setnx key value


# key不存在时,创建键值对,返回成功的个数
 setnx k3 v3

在这里插入图片描述



16. getset 设置指定key的值并返回旧值


getset key value


getset k1 oo29oo

在这里插入图片描述




在这里插入图片描述

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

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

相关文章

Linux 无名管道实现文件复制

无名管道 通过一个管道(假象)进行传输数据,但是这个管道的传输方式是单工(半双工)的,就是这个管道允许进行发送和接受数据,不过不能同时进行。 创建无名管道 这里用到一个pipe(&…

微软Ignite 2023大盘点:GPT-4 Turbo、DALL-E 3等

11月16日,微软在美国西雅图举办“Microsoft Ignite 2023”全球开发者大会。ChatGPT等生成式AI成为了本次大会的重要主题。 下面「AIGC开放社区」将根据大会发布的内容,盘点重要内容。 GPT-4 Turbo、 DALL E 3等全新模型 16K上下文的新GPT-3.5 Turbo模…

视频桥接IC LT8711UXC适用于4LANE TYPE-C/DP转HDMI,另支持支持HDCP协议,分辨率高达4K60HZ!

1.描述 应用功能:LT8711UXC适用于TYPE-C转HDMI2.0,DP1.4转HDMI2.0应用方案,另HDMI带HDCP协议 分辨率:支持4K60HZ 工作温度范围:−40C to 85C 产品封装:QFN48 (6*6)最小包装数:4900pc…

给openlab搭建web网站

网站需求: 1、基于域名 www.openlab.com 可以访问网站内容为 welcome to openlab!!! 2、给该公司创建三个子界面分别显示学生信息,教学资料和缴费网站 1)基于 www.openlab.com/student 网站访问学生信息 2)基于 www.openlab.com/…

今天遇到Windows 10里安装的Ubuntu(WSL)的缺点

随着技术的发展,越来越多开发者转向使用 Windows Subsystem for Linux(WSL)在 Windows 10 上进行开发,也就是说不用虚拟机,不用准备多一台电脑,只需要在Windows 10/11 里安装 WSL 就能体验 Linux 系统。因此…

最大似然估计的介绍

最大似然估计(Maximum Likelihood Estimation,简称MLE)是一种用于估计概率分布中参数的方法。该方法的核心思想是选择使得观察到的数据在给定模型下出现的概率最大的参数值作为估计值。 最大似然估计具有很好的性质,包括渐进正态性…

新手老师怎么发布班级查询?

现在科技发展飞快,班级查询系统已经成为了许多学校必备的教务工具。可以让学生们快速查找到班级的各项信息,包括但不限于课程安排、考试成绩、分班等。对老师来说,班级查询系统可以提高工作效率,减少重复劳动,学生或者…

postman查询数据库-Xmysql

步骤1:安装node.js 下载地址:Download | Node.js步骤2:安装Xmysql工具,命令行输入 npm install -g xmysql ,过程中会自动安装相关依赖;步骤3:连接数据库 xmysql -h ip -u 账号 -p 密码 -d 库名 如下表示连…

Attention Transformer

来源老师课件,方便以后复习。 课参考链接: http://jalammar.github.io/illustrated-transformer/ 之前的知识链接: 【知识链接】WGAN Transformer Vit Swin-Transformer Swin-Unet Res-Vit TransUNet MAE Bra ADDA 打分函数: 多头…

腾讯云便宜服务器有哪些?腾讯云这个服务器一个月7块钱!

大家好,今天我们来一起探讨一下腾讯云便宜服务器的相关问题。相信很多人在寻找可靠的云服务器时都会关注价格,而腾讯云作为国内领先的云计算平台,其价格优惠的服务器产品也是备受关注。那么,腾讯云便宜服务器有哪些呢?…

apifox中get请求传递集合方式

项目中get请求需要传递集合方式: 接口中接收方式: GetMapping("/findGoodsCouponInfoVos") public ApiResult findGoodsCouponInfoVos(RequestParam(value "selectedCouponIds",required false) List<Integer> selectedCouponIds, NotNull(messa…

flink中配置Rockdb的重要配置项

背景 由于我们在flink中使用了状态比较大&#xff0c;无法完全把状态数据存放到tm的堆内存中&#xff0c;所以我们选择了把状态存放到rockdb上&#xff0c;也就是使用rockdb作为状态后端存储,本文就是简单记录下使用rockdb状态后端存储的几个重要的配置项 使用rockdb状态后端…

59 权限提升-Win溢出漏洞及ATSCPS提权

目录 知识点必备&#xff1a;windows权限认识(用户及用户组)0x01 普通权限0x02特殊权限 演示案例:基于WEB环境下的权限提升-阿里云靶机基于本地环境下的权限提升-系统溢出漏洞基于本地环境下的权限提升-AT&SC&PS命令 案例给到的思路点总结如下:涉及资源: 这个章节会讲到…

122.Android 简单的历史搜索

第一步 FlowLayout&#xff1a; public class FlowLayout extends ViewGroup {private int mHorizontalSpacing dp2px(16); //每个item横向间距private int mVerticalSpacing dp2px(8); //每个item横向间距private List<List<View>> allLines new ArrayList<…

PyCharm中常用插件推荐

❤️觉得内容不错的话&#xff0c;欢迎点赞收藏加关注&#x1f60a;&#x1f60a;&#x1f60a;&#xff0c;后续会继续输入更多优质内容❤️ &#x1f449;有问题欢迎大家加关注私戳或者评论&#xff08;包括但不限于NLP算法相关&#xff0c;linux学习相关&#xff0c;读研读博…

Jmeter进行压力测试不为人知的秘密

jmeter是apache公司基于java开发的一款开源压力测试工具&#xff0c;体积小&#xff0c;功能全&#xff0c;使用方便&#xff0c;是一个比较轻量级的测试工具&#xff0c;使用起来非常简单。因为jmeter是java开发的&#xff0c;所以运行的时候必须先要安装jdk才可以。jmeter是免…

37 关于 undo 日志

前言 undo 和 redo 是在 mysql 中 事务, 或者 异常恢复 的场景下面 经常会看到的两个概念 这里 来看一下 undo, undo 主要是用于 事务回滚 的场景下面 测试表结构如下 CREATE TABLE tz_test (id int(11) unsigned NOT NULL AUTO_INCREMENT,field1 varchar(128) DEFAULT NUL…

python基础教程之有序字典

嗨喽&#xff0c;大家好呀~这里是爱看美女的茜茜呐 有序字典和通常字典类似&#xff0c;只是它可以记录元素插入其中的顺序&#xff0c;而一般字典是会以任意的顺序迭代的。 普通字典&#xff1a; d1{} d1[a]A d1[b]B d1[c]C d1[d]D #此时的d1 {a:A,b:B,c:C,d:D} for k,v …

本地jar导入maven

一、通过dependency引入 1.1. jar包放置&#xff0c;建造lib目录 1.2. pom.xml文件 <dependency><groupId>zip4j</groupId><artifactId>zip4j</artifactId><version>1.3.2</version><!--system&#xff0c;类似provided&#x…

【Linux】第十八站:进程等待

文章目录 一、进程等待的必要性1.进程等待是什么2.进程等待的必要性3.为什么要进程等待呢&#xff1f; 二、进程等待的方法1.问题2.wait3.waitpid4.status的原理5.等待失败6.与status有关的两个宏7.options 一、进程等待的必要性 1.进程等待是什么 通过系统调用wait/waitpid&a…