Redis命令 - Strings命令组常用命令

1、Set命令

SET key value [EX seconds] [PX milliseconds] [NX|XX]

1.1 参数说明:

EX seconds: 设置key的过期时间,单位时秒PX milliseconds: 设置key的过期时间,单位时毫秒NX: 只有key不存在的时候,才会设置key的值XX: 只有key存在的时候,才会设置key的值

1.2 set key value nx 可以完全取代setnx命令

setnx key value
如果key不存在,才将key设置值为value。这种情况下等同SET命令。 当key存在时,什么也不做。

1.3 set key value [EX seconds] 可以完全取代setex命令

setex key seconds value
设置key对应字符串value,并且设置key在给定的seconds时间之后超时过期

setex key seconds value等同于下面2条命令,setex是原子的。相比连续执行2条命令,setex更快
SET key value
EXPIRE key seconds

1.4 set key value [PX milliseconds] 可以完全取代 PSETEX命令

PSETEX key milliseconds value
PSETEX和SETEX一样,唯一的区别是到期时间以毫秒为单位,而不是秒

2、Set命令示例

2.1 设置一个key value

set key value
在这里插入图片描述

2.2 SET命令设置一个key value以及过期时间

set key value ex seconds

设置一个key是tester,value是lisi,20秒过期。有效期内查询值返回lisi,过期后查询返回null
在这里插入图片描述

2.3 SetEx命令设置一个key value以及过期时间

setex key seconds value

设置一个key是tester,value是wangwu,30秒过期。有效期内查询值返回lisi,过期后查询返回null

在这里插入图片描述
SETEX命令设置的有效时间,查询剩余有效时间,使用命令TTL

TTL key

设置一个key value,有效时间是60秒,用TTL查询剩余有效时间,还剩56秒
在这里插入图片描述

2.4 PSETEX命令设置一个key value以及过期时间

跟SETEX唯一区别是到期时间单位是以毫秒为单位。查询剩余有效时间使用PTTL。
可以看到,当没有过期时,返回剩余有效时间,当过期时,返回-2,代表已经过期。如果是永久有效,将返回-1。
在这里插入图片描述
在这里插入图片描述

2.5 SET命令:key不存在才设置value的值

set key value nx

先new了一个student的key,当使用set student zhangsan nx时,就会返回null,因为该key已经存在,并且当key已经存在的时候就什么都不做,值并没有变,还是zhangsan
在这里插入图片描述

那么如果是不存在的key,就会设置值成功
在这里插入图片描述

2.6 SETNX命令:key不存在才设置value的值

SETNX命令效果同set key value nx

SETNX命令返回值:

  • 1:代表key成功被设置
  • 0:代表此key已存在,什么都不会做。查询此key的值,还是原本的值zhangsan
    在这里插入图片描述

2.7 SET命令:key存在时才设置value的值

set key value xx
返回值:key存在被设置,返回OK; key不存在,返回null

key student已存在,设置值为xiu,设置成功返回OK
key nn不存在,设置值为mei,设置失败,返回null

在这里插入图片描述

3、getset命令:赋新值取旧值

getset key value

先new一个key是no,value是123,再使用getset取旧值的同时赋新值456,操作完之后,使用get查询no的值,是456。

注:当getset命令查不到key时,会返回null

在这里插入图片描述

4、incr:自增1

incr key
返回值是增加之后的value

new一个key叫no,值为0,然后执行incr no命令

注:上面的例子已创建了key no,可以使用del命令删除key,也可以直接set no的值为0,方便继续下面的示例。

可见,每执行一次incr命令,value就会自增1
在这里插入图片描述

5、incrby:指定增加的值

incrby key increment
返回值:增加之后的value值

no的值是0,执行incrby命令,指定要增加多少,效果如下
在这里插入图片描述

6、decr:自减1

decr key
返回值是减小之后的value

new一个key叫no,值为10,然后执行decr no命令

注:上面的例子已创建了key no,可以使用del命令删除key,也可以直接set no的值为10,方便继续下面的示例。

可见,每执行一次decr命令,value就会自减1
在这里插入图片描述
如果key有一个错误类型的value或者是一个不能表示成数字的字符串,就返回错误。这个操作最大支持在64位有符号的整型数字。

在这里插入图片描述

7、decrby:指定减少的值

decrby key decrement
返回值:减少之后的value值

no的值是100,执行decrby命令,指定要减少多少,效果如下
在这里插入图片描述

8、MSET命令:设置多个key value

MSET key value [key value]

设置多组key value
在这里插入图片描述

9、MSETNX命令:当key不存在时,设置key的值

效果同setnx,只不过msetnx是一次命令操作多组keyvalue而已
返回值:

  • 1:所有的key被设置成功才会返回1
  • 0:只要存在一个key已存在没被设置成功,就会返回0

10、Append命令:

如果 key 已经存在,并且值为字符串,那么这个命令会把 value 追加到原来值(value)的结尾。 如果 key 不存在,那么它将首先创建一个空字符串的key,再执行追加操作,这种情况 APPEND 将类似于 SET 操作。

append key value
返回值:返回append后字符串值(value)的长度。

10.1 key已经存在且value是字符串类型

在这里插入图片描述

10.2 key不存在

在这里插入图片描述

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

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

相关文章

花了三天的时间做了一个多功能 AI 助手

嗨!我是团子,大家新年快乐呀~ 前几天看到一些好朋友在朋友圈晒自己的年度总结,立新年 Flag,看到大家一年满满的收获,再看看自己,不由得想再看看人家,然后再看看自己,然后再看看人家…

Vue学习计划-Vue3--核心语法(九)slot插槽

【slot】 插槽&#xff1a;简单说就是父组件内部使用了子组件&#xff0c;但是子组件内部某些结构需要使用者自行定义&#xff0c;此时就需要用到插槽实现 默认插槽 默认插槽的name是default 父组件 <template><div><Child><h3>默认插槽</h3>&…

MAVROS的进一步理解

一、Mavros简介 顾名思义&#xff0c; mavros就是mavlinkros。mavros是PX4官方提供的一个运行于ros下收发mavlink消息的工具&#xff0c;利用mavros可以发送mavlink消息给飞控(可以控制飞机)&#xff0c;并且可以从飞控中接受数据(例如&#xff1a;飞控的位置速度 IMU数据等等…

阿里云服务器ECS介绍_高性能云服务器_为了无法计算的价值

阿里云高性能云服务器60%单实例最大性能提升&#xff0c;35Gbps内网带宽&#xff0c;网络增强&通用型云服务器、本地SSD型云服务器、大数据型云服务器、GPU异构型云服务器&#xff0c;阿里云百科aliyunbaike.com分享阿里云高性能云服务器&#xff1a; 阿里云高性能云服务器…

大模型实战营Day4 作业

基础作业&#xff1a; 构建数据集&#xff0c;使用 XTuner 微调 InternLM-Chat-7B 模型, 让模型学习到它是你的智能小助手&#xff0c;效果如下图所示&#xff0c;本作业训练出来的模型的输出需要将不要葱姜蒜大佬替换成自己名字或昵称&#xff01; 微调前&#xff08;回答比较…

LMDeploy 的量化和部署

LMDeploy 的量化和部署 文档&#xff1a;https://github.com/InternLM/tutorial/blob/vansin-patch-4/lmdeploy/lmdeploy.md 视频&#xff1a;https://www.bilibili.com/video/BV1iW4y1A77P 一、模型量化 大模型参数量很大&#xff0c;运行起来非常消耗显存和内存&#xff0c;…

Python 基于Open3D的点云均匀下采样算法

目录 一、算法概述二、代码示例三、测试示例一、算法概述 点云均匀下采样算法:是在保持点云关键特征的前提下,减少点云数据的数量。 算法流程: 首先使用o3d.io.read_point_cloud函数读取点云数据。然后,使用uniform_down_sample函数进行均匀下采样,将点云数据按照指定的采…

MySQL修炼手册8:约束与完整性:保证数据的一致性

目录 写在开头1 主键与唯一键约束1.1 PRIMARY KEY约束的作用1.2 主键的复合使用1.3 主键的修改与删除1.4 UNIQUE约束的应用场景1.5 主键与唯一键约束的性能影响1.6 主键的自动增长1.7 主键的最佳实践1.8 独特性与业务需求1.9 避免过度使用唯一约束1.10 主键与唯一键的关系 2 外…

嵌入式培训机构四个月实训课程笔记(完整版)-Linux网络编程第三天-UDP编程练习题(物联技术666)

网盘链接:https://pan.baidu.com/s/1TKdHdeuDI8XPaakepvSLZQ?pwd=1688 提取码:1688 利用UDP实现双人不同机器聊天(服务器可以被多人连接,显示多人聊天记录) //-------------------------服务器 #include <string.h> #include <sys/types.h> #include <…

VCG 网格布尔运算

文章目录 一、简介二、实现代码三、实现效果参考资料一、简介 Mesh布尔操作是一种在三维计算机图形学中用于组合两个或多个网格(mesh)对象的方法。它可以将两个网格对象组合成一个新的对象,同时保留原始对象的拓扑结构和几何信息。Mesh布尔操作主要有以下三种类型: Union(…

爱这个世界,从爱自己开始

亲爱的月月&#xff1a; 早上十点叫你起床&#xff0c;你仍睡意朦胧&#xff0c;今天的网课看样又得加班加点到凌晨。昨晚你大半夜跑完步后&#xff0c;涮火锅、麻辣肚、吃冷饮后闹肚子不停&#xff0c;你妈心疼地照顾你时&#xff0c;你勇敢地微笑着对我们说“肉体不就是拿来…

android gradle编译问题记录

1、gradle下载太慢 有时候即便配置了国内镜像下载gradle也是慢的一批&#xff0c;可以手动下载gradle文件配置到项目中,比如我下载了一个新项目&#xff0c;它的gradle版本是gradle-4.1-all&#xff0c;进入项目时它会开始下载gradle&#xff0c;此时gradle目录中会创建gradle…

[NSSCTF Round#16 Basic] CPR

打着玩玩&#xff0c;比赛很简单。 Crypto pr 一个RSA题&#xff0c;n1p*q,n2q*r给了两个c和p,r而且flag经过pad用单因子无法解出。分别用p,r解完再取crt from Crypto.Util.number import * import randomflagplaintext NSSCTF{****************} charset abcdefghijklmn…

【DP】931. 下降路径最小和

题目 法1&#xff1a;标准DP class Solution {public int minFallingPathSum(int[][] matrix) {if (matrix.length 0 || matrix[0].length 0) {return 0;}int m matrix.length, n matrix[0].length;int[][] dp new int[m][n]; // 到达i,j的最小路径和int min Integer.M…

【Spring之ComponentScanAnnotationParser】

ComponentScanAnnotationParser 1. ComponentScanAnnotationParser属性解析2. 一个重要方法---parse 1. ComponentScanAnnotationParser属性解析 private final Environment environment;// 用于获取当前应用运行时的配置信息&#xff0c;包括但不限于系统属性、环境变量以及通…

MySQL基础学习: 使用EXPLAIN查看执行计划详解分析

一、EXPLAIN语句的作用 在客户端执行MySQL的操作语句&#xff0c;会依次经过MySQL客户端连接管理、语法解析与优化&#xff08;查询缓存、语法解析、查询优化&#xff09;、存储引擎层。其中查询优化器在基于成本和规则对查询语句进行优化&#xff0c;并且在优化后会生成一个执…

Redis学习指南(6)-Redis的数据类型简介

文章目录 引言1. 字符串 (String)2. 哈希 (Hash)3. 列表 (List)4. 集合 (Set)5. 有序集合 (ZSet)结语 引言 Redis是一种高性能的键值存储系统&#xff0c;被广泛应用于缓存、消息队列等场景。其中&#xff0c;Redis的数据类型是其强大功能的基础之一。本文将深入介绍Redis的主…

nacos配置中心只能获取部分配置的问题

检查配置中心&#xff0c;在配置中心里是可以看到监听的服务地址的&#xff0c;但是却获取不到配置 nacos配置中心主要是在这个NacosConfigService的这个类下面。该接口下面主要有一些获取配置&#xff0c;发布配置&#xff0c;增加监听器&#xff0c;删除配置&#xff0c;删…

一个简易的PHP论坛系统

一个简易的PHP论坛系统 php课程设计&#xff0c;毕业设计 预览 技术 bootstrap 4.x jquery css php mysql 5.7 目录结构 登录 管理员 admin/123456 测试用户 user1/123456 更多文章和源码获取查看