Redis 的5种数据类型的基本命令

目录

String的基本命令

1. SET

2. GET

3. GETSET

4. STRLEN

5. APPEND

6. SETRANGE

7. GETRANGE

8. SETEX

9. SETNX

10. MSET

11. MGET

12. INCR

13. DECR

14. INCRBY

15. DECRBY

16. INCRBYFLOAT

Map的基本命令

1. HSET

2. HGET

3. HMSET

4. HMGET

5. HGETALL

6. HDEL

7. HEXISTS

8. HKEYS

9. HVALS

10. HINCRBY

11. HINCRBYFLOAT

12. HLEN

13. HSCAN

List的基本命令

1. LPUSH

2. RPUSH

3. LLEN

4. LRANGE

5. LINDEX

6. LSET

7. LPOP

8. RPOP

9. BLPOP

10. BRPOP

11. LREM

12. LTRIM

13. RPOPLPUSH

Set的基本命令

1. SADD

2. SCARD

3. SISMEMBER

4. SMEMBERS

5. SREM

6. SPOP

7. SRANDMEMBER

8. SDIFF

9. SDIFFSTORE

10. SINTER

11. SINTERSTORE

12. SUNION

13. SUNIONSTORE

14. SMOVE

有序集合(ZSet)的基本命令

1. 添加元素

2. 获取元素分数

3. 删除元素

4. 计数

5. 范围查询

6. 分数范围查询

7. 计算分数范围成员数

8. 移除分数范围内的成员

9. 增加成员分数

10. 排名查询

11. 逆序排名查询

12. 逆序范围查询


String的基本命令

    Redis的String类型是最基本的数据类型,它可以包含任何形式的字符串或二进制数据。以下是一些基本的String操作命令:

1. SET
  • 功能: 设置指定 key 的值。
  • 例子SET mykey "Hello" 将字符串 "Hello" 存储在键 mykey 中。
2. GET
  • 功能: 获取指定 key 的值。
  • 例子GET mykey 获取键 mykey 的值。
3. GETSET
  • 功能: 将给定 key 的值设为 value ,并返回 key 的旧值(old value)。
  • 例子GETSET mykey "World" 将 mykey 的值设置为 "World" 并返回之前的值。
4. STRLEN
  • 功能: 获取指定 key 的值的长度。
  • 例子STRLEN mykey 获取键 mykey 的值的长度。
5. APPEND
  • 功能: 给指定 key 的字符串值追加 value。
  • 例子APPEND mykey " World" 在键 mykey 的值后面追加字符串 " World"。
6. SETRANGE
  • 功能: 从指定 key 的值的offset开始,用给定 value 覆盖。
  • 例子SETRANGE mykey 6 "Redis" 从偏移量6开始,将键 mykey 的值更改为 "Redis"。
7. GETRANGE
  • 功能: 获取指定 key 的值的子字符串。
  • 例子GETRANGE mykey 0 4 获取键 mykey 的值的子字符串,从索引0到4。
8. SETEX
  • 功能: 将值 value 关联到 key ,并将 key 的过期时间设为 seconds (以秒为单位)。
  • 例子SETEX mykey 60 "Hello World" 设置键 mykey 的值为 "Hello World" 并且该键会在60秒后过期。
9. SETNX
  • 功能: 只有在 key 不存在时设置 key 的值。
  • 例子SETNX mykey "Hello" 如果 mykey 不存在,则设置其值为 "Hello"。
10. MSET
  • 功能: 同时设置一个或多个 key-value 对。
  • 例子MSET key1 "Hello" key2 "World" 同时设置 key1 的值为 "Hello" 和 key2 的值为 "World"。
11. MGET
  • 功能: 获取所有(一个或多个)给定 key 的值。
  • 例子MGET key1 key2 获取 key1 和 key2 的值。
12. INCR
  • 功能: 将 key 中储存的数字值增一。
  • 例子INCR mykey 将存储在 mykey 中的数值增加1。
13. DECR
  • 功能: 将 key 中储存的数字值减一。
  • 例子DECR mykey 将存储在 mykey 中的数值减少1。
14. INCRBY
  • 功能: 将 key 所储存的值加上给定的增量值(increment)。
  • 例子INCRBY mykey 10 将存储在 mykey 中的数值增加10。
15. DECRBY
  • 功能: 将 key 所储存的值减去给定的减量值(decrement)。
  • 例子DECRBY mykey 10 将存储在 mykey 中的数值减少10。
16. INCRBYFLOAT
  • 功能: 将 key 所储存的值加上给定的浮点增量值(increment)。
  • 例子INCRBYFLOAT mykey 0.5 将存储在 mykey 中的数值增加0.5。

Map的基本命令

   Redis的Map类型在Redis中称为哈希(Hash),它是一个键值对集合。以下是一些基本的Hash操作命令:

1. HSET
  • 功能: 向哈希表中添加一个字段及其值。
  • 例子HSET myhash field1 "Hello" 将字段 field1 的值设置为 "Hello" 在哈希表 myhash 中。
2. HGET
  • 功能: 获取哈希表中指定字段的值。
  • 例子HGET myhash field1 获取哈希表 myhash 中字段 field1 的值。
3. HMSET
  • 功能: 同时将多个字段-值 (field-value) 对设置到哈希表中。
  • 例子HMSET myhash field1 "Hello" field2 "World" 在哈希表 myhash 中同时设置 field1 的值为 "Hello" 和 field2 的值为 "World"。
4. HMGET
  • 功能: 获取所有给定字段的值。
  • 例子HMGET myhash field1 field2 获取哈希表 myhash 中 field1 和 field2 的值。
5. HGETALL
  • 功能: 获取在哈希表中指定 key 的所有字段和值。
  • 例子HGETALL myhash 获取哈希表 myhash 中的所有字段和值。
6. HDEL
  • 功能: 删除一个或多个哈希表字段。
  • 例子HDEL myhash field1 删除哈希表 myhash 中的字段 field1
7. HEXISTS
  • 功能: 查看哈希表的指定字段是否存在。
  • 例子HEXISTS myhash field1 检查字段 field1 是否存在于哈希表 myhash 中。
8. HKEYS
  • 功能: 获取哈希表中的所有字段名。
  • 例子HKEYS myhash 获取哈希表 myhash 中的所有字段名。
9. HVALS
  • 功能: 获取哈希表中的所有值。
  • 例子HVALS myhash 获取哈希表 myhash 中的所有值。
10. HINCRBY
  • 功能: 为哈希表中的指定字段的整数值加上增量。
  • 例子HINCRBY myhash field1 2 将哈希表 myhash 中字段 field1 的值增加2。
11. HINCRBYFLOAT
  • 功能: 为哈希表中的指定字段的浮点数值加上增量。
  • 例子HINCRBYFLOAT myhash field1 0.5 将哈希表 myhash 中字段 field1 的值增加0.5。
12. HLEN
  • 功能: 获取哈希表中字段的数量。
  • 例子HLEN myhash 获取哈希表 myhash 中字段的数量。
13. HSCAN
  • 功能: 迭代哈希表中的键值对。
  • 例子HSCAN myhash 0 迭代哈希表 myhash 中的键值对。

List的基本命令

Redis的List是一个字符串列表,它按照插入顺序排序。以下是一些基本的List操作命令:

1. LPUSH
  • 功能: 将一个或多个值插入到列表头部。
  • 例子LPUSH mylist "world" 在列表 mylist 的头部插入值 "world"。
2. RPUSH
  • 功能: 将一个或多个值插入到列表尾部。
  • 例子RPUSH mylist "hello" 在列表 mylist 的尾部插入值 "hello"。
3. LLEN
  • 功能: 获取列表长度。
  • 例子LLEN mylist 获取列表 mylist 的长度。
4. LRANGE
  • 功能: 获取列表指定范围内的元素。
  • 例子LRANGE mylist 0 -1 获取列表 mylist 中的所有元素。
5. LINDEX
  • 功能: 通过索引获取列表中的元素。
  • 例子LINDEX mylist 0 获取列表 mylist 中第一个元素。
6. LSET
  • 功能: 通过索引设置列表元素的值。
  • 例子LSET mylist 0 "newvalue" 将列表 mylist 中第一个元素的值设置为 "newvalue"。
7. LPOP
  • 功能: 移除并获取列表的第一个元素。
  • 例子LPOP mylist 移除并返回列表 mylist 的第一个元素。
8. RPOP
  • 功能: 移除并获取列表的最后一个元素。
  • 例子RPOP mylist 移除并返回列表 mylist 的最后一个元素。
9. BLPOP
  • 功能: 阻塞式移除并获取列表的第一个元素。
  • 例子BLPOP mylist 0 阻塞直到列表 mylist 有元素可弹出或超时。
10. BRPOP
  • 功能: 阻塞式移除并获取列表的最后一个元素。
  • 例子BRPOP mylist 0 阻塞直到列表 mylist 有元素可弹出或超时。
11. LREM
  • 功能: 移除列表中与参数 VALUE 相等的元素。
  • 例子LREM mylist 0 "world" 移除列表 mylist 中所有值为 "world" 的元素。
12. LTRIM
  • 功能: 修剪(截取)一个已存在的 list,让它只包含指定范围的元素。
  • 例子LTRIM mylist 1 -1 截取列表 mylist,只保留索引从1开始到结束的元素。
13. RPOPLPUSH
  • 功能: 移除列表的最后一个元素,并将该元素添加到另一个列表并返回。
  • 例子RPOPLPUSH mylist1 mylist2 将列表 mylist1 的最后一个元素弹出并推入列表 mylist2 的头部。

Set的基本命令

   Redis的Set是一个无序集合,它通过哈希表实现,可以存储一些不重复的值。以下是一些基本的Set操作命令:

1. SADD
  • 功能: 向集合添加一个或多个成员。
  • 例子SADD myset "Hello" 添加单个成员 "Hello" 到集合 myset 中。
2. SCARD
  • 功能: 获取集合的成员数。
  • 例子SCARD myset 获取集合 myset 的成员数量。
3. SISMEMBER
  • 功能: 判断成员元素是否是集合的成员。
  • 例子SISMEMBER myset "Hello" 检查 "Hello" 是否是集合 myset 的成员。
4. SMEMBERS
  • 功能: 返回集合中的所有成员。
  • 例子SMEMBERS myset 获取集合 myset 中的所有成员。
5. SREM
  • 功能: 移除集合中一个或多个成员。
  • 例子SREM myset "Hello" 从集合 myset 中移除成员 "Hello"。
6. SPOP
  • 功能: 移除并返回集合中的一个随机元素。
  • 例子SPOP myset 随机移除集合 myset 中的一个成员并返回它。
7. SRANDMEMBER
  • 功能: 返回集合中的一个或多个随机数。
  • 例子SRANDMEMBER myset 随机返回集合 myset 中的一个成员。
8. SDIFF
  • 功能: 返回给定所有集合的差集。
  • 例子SDIFF myset1 myset2 返回存在于 myset1 但不在 myset2 中的成员。
9. SDIFFSTORE
  • 功能: 返回给定所有集合的差集并存储在指定的集合中。
  • 例子SDIFFSTORE mysetdiff myset1 myset2 将 myset1 和 myset2 的差集保存到 mysetdiff
10. SINTER
  • 功能: 返回所有给定集合的交集。
  • 例子SINTER myset1 myset2 返回集合 myset1 和 myset2 的交集。
11. SINTERSTORE
  • 功能: 返回所有给定集合的交集并存储在指定的集合中。
  • 例子SINTERSTORE mysetinter myset1 myset2 将 myset1 和 myset2 的交集保存到 mysetinter
12. SUNION
  • 功能: 返回所有给定集合的并集。
  • 例子SUNION myset1 myset2 返回集合 myset1 和 myset2 的并集。
13. SUNIONSTORE
  • 功能: 返回所有给定集合的并集并存储在指定的集合中。
  • 例子SUNIONSTORE mysetunion myset1 myset2 将 myset1 和 myset2 的并集保存到 mysetunion
14. SMOVE
  • 功能: 将成员从一个集合移动到另一个集合。
  • 例子SMOVE myset1 myset2 "Hello" 将成员 "Hello" 从 myset1 移动到 myset2

有序集合(ZSet)的基本命令

1. 添加元素
  • 命令ZADD key score member [score member ...]
  • 说明: 向有序集合key中添加一个或多个成员,或者更新已存在成员的分数(score)。
  • 示例ZADD myzset 1 "one" 2 "two" 将成员"one"和"two"分别以分数1和2添加到"myzset"。
2. 获取元素分数
  • 命令ZSCORE key member
  • 说明: 获取有序集合key中成员member的分数。
  • 示例ZSCORE myzset "one" 获取"myzset"中"one"的分数。
3. 删除元素
  • 命令ZREM key member [member ...]
  • 说明: 删除有序集合key中的一个或多个成员。
  • 示例ZREM myzset "one" 从"myzset"中删除成员"one"。
4. 计数
  • 命令ZCARD key
  • 说明: 获取有序集合key的成员数量。
  • 示例ZCARD myzset 获取"myzset"的成员数量。
5. 范围查询
  • 命令ZRANGE key start stop [WITHSCORES]
  • 说明: 按照分数值递增(从小到大)顺序返回有序集key中指定区间内的成员。
  • 示例ZRANGE myzset 0 -1 WITHSCORES 返回"myzset"中所有成员及其分数。
6. 分数范围查询
  • 命令ZRANGEBYSCORE key min max [WITHSCORES] [LIMIT offset count]
  • 说明: 返回有序集key中,所有分数介于min和max之间的成员。
  • 示例ZRANGEBYSCORE myzset 1 2 WITHSCORES 返回"myzset"中分数介于1到2的成员及其分数。
7. 计算分数范围成员数
  • 命令ZCOUNT key min max
  • 说明: 计算有序集key中,分数介于min和max之间的成员数量。
  • 示例ZCOUNT myzset 1 2 计算"myzset"中分数介于1到2的成员数量。
8. 移除分数范围内的成员
  • 命令ZREMRANGEBYSCORE key min max
  • 说明: 删除有序集key中,所有分数介于min和max之间的成员。
  • 示例ZREMRANGEBYSCORE myzset 1 1 删除"myzset"中所有分数为1的成员。
9. 增加成员分数
  • 命令ZINCRBY key increment member
  • 说明: 为有序集key的成员member的分数加上增量increment。
  • 示例ZINCRBY myzset 2 "one" 将"myzset"中"one"的分数增加2。
10. 排名查询
  • 命令ZRANK key member
  • 说明: 返回有序集key中成员member的排名。其中有序集成员按分数值递增(从小到大)排序。
  • 示例ZRANK myzset "one" 获取"myzset"中"one"的排名。
11. 逆序排名查询
  • 命令ZREVRANK key member
  • 说明: 返回有序集key中成员member的排名,按分数值递减(从大到小)排序。
  • 示例ZREVRANK myzset "one" 获取"myzset"中"one"的逆序排名。
12. 逆序范围查询
  • 命令ZREVRANGE key start stop [WITHSCORES]
  • 说明: 返回有序集key中,指定区间内的成员,通过索引,分数从高到底。
  • 示例ZREVRANGE myzset 0 -1 WITHSCORES 返回"myzset"中所有成员及其分数,按分数从高到低。

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

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

相关文章

MySQL之索引与事务

一 索引的概念 一种帮助系统查找信息的数据 数据库索引 是一个排序的列表,存储着索引值和这个值所对应的物理地址无须对整个表进行扫描,通过物理地 址就可以找到所需数据是表中一列或者若干列值排序的方法 需要额外的磁盘空间 索引的作用 1 数据库…

Vue3项目部署安装

Vue3ts部署 查看官网安装项目vue3的命令(四个)其中有: yarn create vuelatest 我执行时遇到报错,可能是我yarn版本不是最新 的问题, 改用这个命令去掉latest即可 yarn create vue 新项目先要安装yarn依赖,才能yarn …

数值分析(三) Lagrange(拉格朗日)插值法及Matlab代码实现

目录 前言一、Lagrange(拉格朗日)插值1. 线性插值2. 抛物插值3. 拉格朗日插值多项式 二、Lagrange插值算法及matlab代码1. Lagrange 插值算法matlab实现2 实例3. 线性插值示意图代码4. 抛物插值示意图代码 三、总结四、插值法专栏 前言 本篇为插值法专栏…

Java 在PDF中插入页眉、页脚

在处理PDF文档时,有时需要为文档中的每一页添加页眉和页脚,以包含一些有用的信息,如文档标题、章节名称、日期、页码等。对于需要自动化处理的场景,或者需要在大量文档中添加一致的页眉和页脚,可以通过编程的方式来实现…

Django日志(三)

内置TimedRotatingFileHandler 按时间自动切分的log文件,文件后缀 %Y-%m-%d_%H-%M-%S , 初始化参数: 注意 发送邮件的邮箱,开启SMTP服务 filename when=h 时间间隔类型,不区分大小写 S:秒 M:分钟 H:小时 D:天 W0-W6:星期几(0 = 星期一) midnight:如果atTime未指定,…

C++的内存管理

目录 1. C/C内存分布 2. C语言中动态内存管理方式 3. C内存管理方式 3.1 new/delete操作内置类型 4. operator new与operator delete函数 4.1 连续开辟空间(尽力了解) 5. new和delete的实现原理 5.1 内置类型 5.2 自定义类型 6. 深入理解 6.1malloc/free和new/delete的区…

SLAM 求解IPC算法

基础知识:方差,协方差,协方差矩阵 方差:描述了一组随机变量的离散程度 方差 每个样本值 与 全部样本的平均值 相差的平方和 再求平均数,记作: 例如:计算数字1-5的方差,如下 去中心化…

调试嵌入式linux时,出现ssh不能远程登录的解决方法

如题,最近在调试stm32mp157的板卡时,出现了ssh不能登录的问题,主要有两种情况,表现的都是不能ssh登录,现在具体描述一下,记录一下过程: 情况一: 调试过程中,使用ssh登录…

Power BI ----SVG(圆环图)

圆环图助力矩阵图 定义度量值放置视觉对象 SVG是什么鬼,在现在的Web世界中越来越凸显这一标准的优势。关于SVG,我们只需要知道一点就好 ---- SVG 意为可缩放矢量图形(Scalable Vector Graphics)。它是使用 XML 格式定义的图像。 由…

【LeetCode 算法刷题笔记-路径篇】

1.0112. 路径总和 1.1 题目大意 描述:给定一个二叉树的根节点 root 和一个值 targetSum。 要求:判断该树中是否存在从根节点到叶子节点的路径,使得这条路径上所有节点值相加等于 targetSum。如果存在,返回 True;否则…

docker-compose(mysql5.6、mysql8、neo4j3.5、redis)

docker-compose常用配置 docker-compose.ymlmysql5.6 配置文件 my.cnfmysql8 配置文件 my.cnfredis 配置文件 redis.conf docker-compose.yml version: 3 services: # 所有卷挂载在/home/docker/vol目录,不同应用建立不同子目录存放挂载数据 # 图数据库 neo4j:cont…

elementUI Tree 树形控件单选实现

文章目录 展示效果代码实现elementui Tree树形控件其他详细数据 在Element UI中,树形控件(el-tree)本身不支持单选功能。但是,你可以通过监听节点点击事件并手动更新选中状态来实现单选树。 以下是一个简单的例子,展示…

vue3中reactive详解

在Vue 3中,reactive函数是一个非常重要的工具,它用于将普通的JavaScript对象或数组转换为响应式对象。这意味着当这些对象的属性发生变化时,Vue可以自动检测和更新相关的DOM。 使用方法 使用reactive函数,你可以将任意对象或数组…

底盘运动模型及里程计

主要研究底盘运动模型及里程计 目录 1.底盘模型1.1 两轮差分底盘的运动学模型1.2 二、三轮全向底盘的运动学模型2.航迹推算1.3 阿克曼底盘运动学模型1.3.1 阿克曼结构1.3.2 阿克曼结构运动学模型3.里程计标定3.1 线性最小二乘的基本原理3.1 最小二乘在里程计标定中的应用1.底盘…

Go 语言Web开发-模板(template)快速入门教程

模板基础 Go语言模板包是用于生成文本输出的工具,它通过解析模板文本并结合数据生成最终的输出文本。模板语法简洁而强大,包括模板标记、变量输出、控制结构和模板函数等。模板对象表示已解析和编译的模板,可以执行并输出最终文本。模板包的…

React【Day1】

B站视频链接 一、React介绍 React由Meta公司开发,是一个用于 构建Web和原生交互界面的库 React的优势 相较于传统基于DOM开发的优势 组件化的开发方式不错的性能 相较于其它前端框架的优势 丰富的生态跨平台支持 React的市场情况 全球最流行,大…

nginx的location规则与其他功能

1. nginx中location规则: 规则描述~表示执行一个正则匹配,区分大小写~*表示执行一个正则匹配,不区分大小写^~表示普通字符匹配,如果该选项匹配,只匹配该选项,不匹配别的选项,一般用来匹配目录进…

pandas读写excel,csv

1.读excel 1.to_dict() 函数基本语法 DataFrame.to_dict (self, orientdict , into ) --- 官方文档 函数种只需要填写一个参数:orient 即可 ,但对于写入orient的不同,字典的构造方式也不同,官网一共给出了6种&#xff0c…

API(时间类)

一、Date类 java.util.Date类 表示特定的瞬间,精确到毫秒。 Date常用方法: public long getTime() 把日期对象转换成对应的时间毫秒值。 public void setTime(long time) 把方法参数给定的毫秒值设…

python网络爬虫实战教学——requests的使用(1)

文章目录 专栏导读1、前言2、get请求3、抓取网页4、抓取二进制数据5、请求头 专栏导读 ✍ 作者简介:i阿极,CSDN 数据分析领域优质创作者,专注于分享python数据分析领域知识。 ✍ 本文录入于《python网络爬虫实战教学》,本专栏针对…