【Redis】五大数据类型(操作命令)

news2024/11/17 23:25:29

🎯Redis 命令

🚩Redis 键(key)

这些是 Redis 数据库中的命令,用于对数据类型进行操作和管理。以下是每个命令的含义和用法:

  • DEL:删除一个或多个键。
  • DUMP:将一个键的值转储到一个字符串中。
  • EXPIRE:设置键的过期时间。
  • EXPIREAT:在给定的时间戳之后为键设置过期时间。
  • KEYS:返回匹配给定模式的键列表。
  • MIGRATE:将一个或多个键的值从一个 Redis 实例迁移到另一个 Redis 实例。
  • MOVE:将一个键从当前实例移动到另一个 Redis 实例。
  • OBJECT:获取键的属性信息。
  • PERSIST:移除一个键的过期时间。
  • PEXPIRE:设置键的过期时间。
  • PEXPIREAT:在给定的时间戳之后为键设置过期时间。
  • PTTL:返回键的剩余过期时间。
  • RANDOMKEY:返回一个随机键的名称。
  • RENAME:重命名一个键。
  • RENAMENX:仅当新名不存在时重命名一个键。
  • RESTO:删除给定数量的与给定模式匹配的键。
  • RESTORES:以“有则更新,否则插入”的策略更新一个散列字段的旧值。
  • TTL:返回键的剩余过期时间。
  • TYPE:返回键的值的类型。
  • SCAN:迭代给定模式匹配的键列表。

🚩String(字符串)操作命令

💭Redis 的 String 命令是用于操作字符串类型数据的命令,包括设置、获取、增加和删除等操作。

以下是 Redis 中与字符串类型相关的命令:

  • SET key value [EX seconds] [PX milliseconds] [NX|XX]:将一个字符串值设置为指定键的值,并可以设置过期时间其中:
  1. EX seconds:设置过期时间为 seconds 秒。
  2. PX milliseconds:设置过期时间为 milliseconds 毫秒。
  3. NX:仅在键不存在时设置键值。
  4. XX:仅在键存在时设置键值。
  • GET key:获取指定键的值。
  • GETSET key oldvalue:获取指定键的值,并将该键的值设置为 oldvalue。
  • APPEND key value:在指定键的值的末尾追加新的字符串。
  • SUBSTR key start end:获取指定键的值的子串,从 start 开始到 end 结束。
  • GETRANGE key start end:获取指定键的值的子串,从 start 开始到 end 结束(包括 start 和 end 在内)。
  • SETEX key seconds value:将一个字符串值设置为指定键的值,并设置过期时间为 seconds 秒。
  • SETNX key value:将一个字符串值设置为指定键的值,如果键不存在则设置,如果键已存在则不设置。
  • PSETEX key milliseconds value:将一个字符串值设置为指定键的值,并设置过期时间为 milliseconds 毫秒。
  • SETBIT key offset value [NX|XX]:对指定键的值的二进制位进行设置,offset 表示偏移量,value 表示要设置的二进制值。其中:
  1. NX:仅在指定的 offset 不存在时设置该位的值。
  2. XX:仅在指定的 offset 已经存在时设置该位的值。
  • GETBIT key offset:获取指定键的值的二进制位,并返回该位对应的整数值。
  • MSET key1 value1 key2 value2 ... keyN valueN:同时设置多个键的值。
  • MSETNX key1 value1 key2 value2 ... keyN valueN:同时设置多个键的值,如果所有键都不存在则设置成功。
  • GETEX key:获取指定键的过期时间,如果没有设置过期时间则返回 -1。
  • EXPIREAT key timestamp:设置指定键的过期时间为 timestamp(时间戳)值。
  • PEXPIREAT key milliseconds:设置指定键的过期时间为 milliseconds(毫秒)值。
  • STRLEN key:获取指定键的值的长度。
  • DESTROY key:删除指定键的值。
  • MSETNX key1 value1 key2 value2 ... keyN valueN:同时设置多个键的值,如果所有键都不存在则设置成功。
  • PSETEX key milliseconds value:将一个字符串值设置为指定键的值,并设置过期时间为 milliseconds 毫秒。
  • INCR key:将键的值增加 1。
  • DECR key:将键的值减少 1。
  • INCRBY key value:将键的值增加指定的值。
  • DECRBY key value:将键的值减少指定的值。

🚩Hash(哈希)操作命令

以下是 Redis 中与 Hash 类型相关的命令:

  • HSET key field value:将哈希表 key 中的字段 field 的值设置为 value。
  • HGET key field:获取哈希表 key 中字段 field 的值。
  • HGETALL key:获取哈希表 key 中的所有字段和值。
  • HLEN key:获取哈希表 key 中的字段数量。
  • HDEL key field [field ...]:删除哈希表 key 中的指定字段,可以一次删除多个字段。
  • HEXISTS key field:判断哈希表 key 中是否存在指定字段。
  • HGETALL key:获取哈希表 key 中的所有字段和值。
  • HKEYS: 获取哈希表中的所有字段。
  • HMGET: 获取哈希表中指定字段的值,支持一次获取多个字段。
  • HVALS: 获取哈希表中的所有值。
  • HSCAN: 对哈希表进行扫描操作,可以用于查询符合特定模式的字段或值。
  • HSETNX key field value:将哈希表 key 中的字段 field 的值设置为 value,如果字段已存在则不设置。
  • HGETALL key:获取哈希表 key 中的所有字段和值。
  • HINCRBY key field increment:将哈希表 key 中指定字段的值增加 increment,如果字段不存在则将其初始值设为 increment。
  • HINCRBYFLOAT key field increment:将哈希表 key 中指定字段的值增加 increment,如果字段不存在则将其初始值设为 increment。
  • HSTRLEN key field:获取哈希表 key 中指定字段的值的长度。
  • HLEN key:获取哈希表 key 中的字段数量。

🚩List(列表)操作命令

以下是 Redis 中与 List 类型相关的命令:

  • LPUSH key value:将一个或多个值插入到列表 key 的头部(左边)。
  • RPUSH key value:将一个或多个值插入到列表 key 的尾部(右边)。
  • LPUSHX key value:如果列表 key 存在,则将一个或多个值插入到列表 key 的头部(左边)。
  • RPUSHX key value:如果列表 key 存在,则将一个或多个值插入到列表 key 的尾部(右边)。
  • LLEN key:获取列表 key 的长度。
  • LINDEX key index:获取列表 key 中指定索引位置的值。
  • LRANGE key start stop:获取列表 key 中指定范围内的值。
  • LTRIM key start stop:修剪(限制)列表 key 的长度,保留指定范围内的元素。
  • LLEN key:获取列表 key 的长度。
  • LINDEX key index:获取列表 key 中指定索引位置的值。
  • LINSERT key beforeAfter value:将一个或多个值插入到列表 key 的指定位置之前或之后。
  • LREM key count value:从列表 key 中删除指定值的元素,count 表示删除的数量。
  • BLPOP key [key ...] timeout:阻塞式左弹移,当列表 key 非空时将其最左边的元素弹出并返回,如果列表为空则一直阻塞直到有元素可弹出。
  • BRPOP key [key ...] timeout:阻塞式右弹移,当列表 key 非空时将其最右边的元素弹出并返回,如果列表为空则一直阻塞直到有元素可弹出。
  • LSET key index value:设置列表 key 中指定索引位置的值。
  • LRANGE key start stop:获取列表 key 中指定范围内的值。
  • LTRIM key start stop:修剪(限制)列表 key 的长度,保留指定范围内的元素。

🚩Set(集合)操作命令

以下是 Redis 中与 Set 类型相关的命令:

  • SADD key member [member ...]:将一个或多个成员添加到集合 key 中。
  • SREM key member [member ...]:从集合 key 中删除一个或多个成员。
  • SISMEMBER key member:判断成员是否存在于集合 key 中。
  • SCARD key:获取集合 key 中的成员数量。
  • SMEMBERS key:获取集合 key 中的所有成员。
  • SINTER key1 key2 [key3 ...]:求两个或多个集合的交集。
  • SINTERSTORE destination key1 key2 [key3 ...]:求两个或多个集合的交集,并将结果存储到目标集合 destination 中。
  • SUNION key1 key2 [key3 ...]:求两个或多个集合的并集。
  • SUNIONSTORE destination key1 key2 [key3 ...]:求两个或多个集合的并集,并将结果存储到目标集合 destination 中。
  • SDIFF key1 key2 [key3 ...]:求两个或多个集合的差集。
  • SDIFFSTORE destination key1 key2 [key3 ...]:求两个或多个集合的差集,并将结果存储到目标集合 destination 中。
  • SMEMBERS key:获取集合 key 中的所有成员。
  • SISMEMBER key member:判断成员是否存在于集合 key 中。
  • SCARD key:获取集合 key 中的成员数量。
  • SADD key member [member ...]:将一个或多个成员添加到集合 key 中。
  • SREM key member [member ...]:从集合 key 中删除一个或多个成员。

🚩zset(sorted set有序集合)操作命令

以下是 Redis 中与 Sorted Set(有序集合)类型相关的命令:

  • ZADD:将一个或多个成员及其分值添加到有序集合中。
  • ZCARD:返回有序集合的成员数量。
  • ZCOUNT:返回有序集合中分值在指定范围内的成员数量。
  • ZINCRBY:按指定的增量值对有序集合中的某个成员的分值进行增加操作。
  • ZRANGE:返回有序集合中指定范围内的成员。
  • ZRANGEBYSCORE:返回有序集合中分值在指定范围内的成员。
  • ZRANK:返回有序集合中指定成员的分值排名。
  • ZREM:从有序集合中移除一个或多个成员。
  • ZREMRANGEBYRANK:从有序集合中移除指定排名范围内的成员。
  • ZREMRANGEBYSCORE:从有序集合中移除分值在指定范围内的成员。
  • ZREVRANGE:返回有序集合中指定范围内的成员,按分值降序排列。
  • ZREVRANGEBYSCORE:返回有序集合中分值在指定范围内的成员,按分值降序排列。
  • ZREVRANK:返回有序集合中指定成员的分值排名,按分值降序排列。
  • ZSCORE:返回有序集合中指定成员的分值。
  • ZUNIONSTORE:将多个有序集合的成员合并到一个新的有序集合中。
  • ZINTERSTORE:将多个有序集合的交集存放到一个新的有序集合中。
  • SCAN:迭代有序集合中的所有成员和分值,可以设置每次迭代获取的成员数量和游标等参数。

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

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

相关文章

【数据结构二叉树OJ系列】4、翻转二叉树(又称求二叉树的镜像)

目录 法一、 法二、 题述: 翻转一颗二叉树。 输入: 输出: 题中已给: struct TreeNode {int val;struct TreeNode* left;struct TreeNode* right; }; TreeNode* invertTree(struct TreeNode* root) 法一、 思路:…

操作指南 | 如何使用Foundry在Moonbeam上进行部署

Foundry是一种以太坊开发环境,可帮助构建者管理依赖项、编译项目、测试或部署合约以及通过指令与区块链进行交互。Foundry已成为流行的开发智能合约开发环境,仅需要使用Solidity即可进行操作。Moonbeam在官方文档网站提供了有关将Foundry与Moonbeam网络结…

vector [] 赋值出现的报错问题

下面这段代码的作用是创建了一个整数类型的vector&#xff08;std::vector<int>&#xff09;并对其进行操作。以下是代码的详细说明&#xff1a; 使用reserve(10)方法为向量分配至少10个元素的存储空间。reserve() 预留了额外的存储空间&#xff0c;以避免后续添加元素时…

C++之typeof和typeid用法(一百五十三)

简介&#xff1a; CSDN博客专家&#xff0c;专注Android/Linux系统&#xff0c;分享多mic语音方案、音视频、编解码等技术&#xff0c;与大家一起成长&#xff01; 优质专栏&#xff1a;Audio工程师进阶系列【原创干货持续更新中……】&#x1f680; 人生格言&#xff1a; 人生…

动态规划--Fibonacci数列 III

描述 众所周知&#xff0c;Fibonacci数列是一个著名数列。它的定义是&#xff1a; 本题要求采用第三种方法&#xff1a;简单的动态规划。 用数组把求出来的 Fibonacci 数列保存下来&#xff0c;以免后面要的时候再算一次。 输入描述 每行一个整数 i &#xff0c;表示 Fibona…

【C++修炼之路】string 模拟实现

&#x1f451;作者主页&#xff1a;安 度 因 &#x1f3e0;学习社区&#xff1a;StackFrame &#x1f4d6;专栏链接&#xff1a;C修炼之路 文章目录 一、默认成员函数1、全缺省构造2、析构3、拷贝构造&#xff08;深拷贝&#xff09;4、赋值重载&#xff08;深拷贝&#xff09;…

Langchain 新手完全指南

Langchain 可能是目前在 AI 领域中最热门的事物之一&#xff0c;仅次于向量数据库。 它是一个框架&#xff0c;用于在大型语言模型上开发应用程序&#xff0c;例如 GPT、LLama、Hugging Face 模型等。 它最初是一个 Python 包&#xff0c;但现在也有一个 TypeScript 版本&…

Git gui教程---第五篇 Git gui的使用 查看提交历史

查看提交历史 1.点击菜单栏的“版本库”&#xff0c;选择“图示master分支的历史” 2.出现的界面就是显示当前分支的提交历史了

Java基础---Java中创建对象方式

目录 使用new关键字 使用反射机制 使用clone方法 使用反序列化 使用方法句柄 使用Unsafe分配内存 使用new关键字 这是最常见的也是最简单的创建对象的方式通过这种方式还可以调用任意的构造函数&#xff08;无参的和有参的&#xff09; 使用反射机制 运用反射手段&#…

单个电源模块带电感的直流压降仿真(一)

单个电源模块带电感的直流压降仿真(一) 下面实例分析单个电源模块带电感的直流压降仿真分析,以下图为例 具体操作如下 创建新的workspaceLoad a New/Different layout(把PCB文件加载进来)

【滑动窗口】209. 长度最小的子数组

209. 长度最小的子数组 解题思路 滑动窗口设置前后指针滑动窗口内的元素之和总是大于或者等于s滑动窗口的起始位置: 如果窗口的值大于等于s 窗口向前移动窗口结束位置:for循环的j class Solution {public int minSubArrayLen(int target, int[] nums) {int left 0;// 滑动窗口…

UDS统一诊断服务【七】DTC控制0X85服务

文章目录 前言一、DTC控制服务介绍二、数据格式2.1 请求报文2.2 子功能2.3响应格式 三、举例总结 前言 大家好&#xff0c;我是嵌入式老林&#xff0c;从事嵌入式软件开发多年&#xff0c;今天分享的内容是UDS诊断故障码控制0X85服务介绍&#xff0c;希望能对你有所帮助 一、D…

[LeetCode周赛复盘] 第 353 场周赛20230709

[LeetCode周赛复盘] 第 353 场周赛20230709 一、本周周赛总结6451. 找出最大的可达成数字1. 题目描述2. 思路分析3. 代码实现 6899. 达到末尾下标所需的最大跳跃次数1. 题目描述2. 思路分析3. 代码实现 6912. 构造最长非递减子数组1. 题目描述2. 思路分析3. 代码实现 6919. 使…

人工智能与Chat GPT

一本书全面掌握ChatGPT&#xff0c;既有向ChatGPT提问的技巧&#xff0c; 也有构建自己的ChatGPT模型的方法&#xff0c;涵盖开发背景、关联技术、使用方法、应用形式、实用案例等 人工智能是我们这个时代最热门的话题&#xff0c;人们既希望它能代替我们做一些工作&#xff0c…

Python使用SQLAlchemy

Python使用SQLAlchemy 1 安装SQLAlchemy 备注&#xff1a;本文适用于SQLAlchemy>2.0 # 安装SQLAlchemy pip install SQLAlchemy# 安装pymysql pip install pymysql参考文档&#xff08;SQLAlchemy>2.0&#xff09; https://docs.sqlalchemy.org/en/20/创建数据库 # …

什么是敏捷测试?

目录 前言&#xff1a; 敏捷测试的定义 敏捷测试的特点 为什么要敏捷测试 缩短价值交付周期 强调质量属于大家 化繁为简节省成本 敏捷测试VS. 传统测试 传统测试如何迁移到敏捷测试 1. 组织文化的转变 2. 组织架构的调整 3. 人员培训与指导 4. 轻流程 敏捷测试成…

电视访问Samba

文章目录 问题描述方案一&#xff1a;当贝播放器方案二&#xff1a;nPlayer方案三&#xff1a;Kodi 问题描述 本人使用小米 AX9000 路由器 移动硬盘组了个轻 NAS&#xff0c;想通过电视访问 Samba 看视频&#xff08;也可以电脑开 SMB&#xff09; 开启 Samba 功能 文件夹开…

SpringMVC第一讲:SpringMVC基础知识

一、MVC设计模式 MVC的全名是Model View Controller&#xff0c;是模型(Model)&#xff0d;视图(view)&#xff0d;控制器(controller)的缩写&#xff0c;是一种设计模式。它是用一种业务逻辑、数据与界面显示分离的方法来组织代码&#xff0c;将众多的业务逻辑聚集到一个部件…

SIFT(尺度不变特征变换)

Sift&#xff08;尺度不变特征变换&#xff09;&#xff0c;全称是Scale Invariant Feature Transform Sift提取图像的局部特征&#xff0c;在尺度空间寻找极值点&#xff0c;并提取出其位置、尺度、方向信息。 Sfit的应用范围包括物体辨别、机器人地图感知与导航、影像拼接、…

OpenCV 入门教程:膨胀和腐蚀操作

OpenCV 入门教程&#xff1a;膨胀和腐蚀操作 导语一、膨胀操作二、腐蚀操作三、示例应用3.1 图像增强3.2 边缘检测 总结 导语 膨胀和腐蚀是图像处理中常用的形态学操作&#xff0c;用于改变图像的形状和结构。在 OpenCV 中&#xff0c;膨胀和腐蚀是基于结构元素的像素操作&…