Redis基础命令大全

这里写目录标题

  • 第一章、Redis 命令大全
    • 1.1)通用命令
      • 语法:ping
      • 语法:dbsize
      • 语法:select db
      • 语法:flushdb
      • 语法:exit 或 quit
      • 语法:redis-cli
    • 1.2)Redis 的 Key 的操作命令
      • 语法:keys pattern
      • 语法:exists key [key…]
      • 语法:expire key seconds
      • 语法:ttl key
      • 语法:type key
      • 语法:del key [key…]
    • 1.3) 字符串类型的value操作命令
      • 语法:set key value
      • 语法: get key
      • 语法:incr key
      • 语法:decr key
      • 语法:append key value
      • 语法:strlen key
      • 语法:getrange key start end
      • 语法:setrange key offset value
      • 语法:mset key value [key value…]
      • 语法:mget key [key …]
    • 1.4)哈希类型的value操作命令
      • 语法:hset hash 表的 key field value
      • 语法:hget key field
      • 语法:hmset key field value [field value…]
      • 语法:hmget key field [field…]
      • 语法:hgetall key
      • 语法:hdel key field [field…]
      • 语法:hkeys key
      • 语法:hvals key
      • 语法:hexists key field
    • 1.5)列表list类型的value操作命令
      • 语法:lpush key value [value…]
      • 语法:rpush key value [value…]
      • 语法:lrange key start stop
      • 语法:lindex key index
      • 语法:llen key
      • 语法:lrem key count value
      • 语法:lset key index value
      • 语法:linsert key BEFORE|ALFTER pivot value
    • 1.6)集合类型的value操作命令
      • 语法:sadd key member [member…]
      • 语法:smembers key
      • 语法:sismember key member
      • 语法:scard key
      • 语法:srem key member [member…]
      • 语法:srandmember key [count]
      • 语法:spop key [count]
    • 1.7)有序集合类型的value操作命令
      • 语法:zadd key score member [score member…]
      • 语法:zrange key start stop [WITHSCORES]
      • 语法:zrevrange key start stop [WITHSCORES]
      • 语法:zrem key member [member…]
      • 语法:zcard key
      • 语法:zrangebyscore key min max [WITHSCORES ] [LIMIT offset count]
      • 语法:zrevrangebyscore key max min [WITHSCORES ] [LIMIT offset count]
      • 语法:zcount key min max

第一章、Redis 命令大全

1.1)通用命令

①沟通命令,查看状态, 返回 PONG

语法:ping


②查看当前数据库中 key 的数目:

语法:dbsize


③redis默认十六个库,切换库命令:

语法:select db

在这里插入图片描述

④删除当前库的数据:

语法:flushdb


⑤退出当前 redis 连接:

语法:exit 或 quit


⑥登录自带redis 命令行客户端:

语法:redis-cli

1.2)Redis 的 Key 的操作命令


①查看key

语法:keys pattern

通配符: 
* :表示 0-多个字符 ,例如:keys * 查询所有的 key , *表示 0 或多个字符
?:表示单个字符,例如:wo?d , 匹配 word , wood

在这里插入图片描述
②判断 key 是否存在

语法:exists key [key…]

exists key
exists key1 key2...

在这里插入图片描述
③ 设置 key 的生存时间,超过时间,key 自动删除。单位是秒。

语法:expire key seconds

在这里插入图片描述
④以秒为单位,返回 key 的剩余生存时间(ttl: time to live)返回值:
-1 :没有设置 key 的生存时间, key 永不过期。
-2 :key 不存在

语法:ttl key

在这里插入图片描述

⑤查看 key 所存储值的数据类型返回值:字符串表示的数据类型
none (key 不存在)
string (字符串)
list (列表)
set (集合)
zset (有序集)
hash (哈希表)

语法:type key

在这里插入图片描述

⑥删除指定存在的 key ,不存在的 key 忽略。
返回值:数字,删除的 key 的数量。

语法:del key [key…]

在这里插入图片描述

1.3) 字符串类型的value操作命令

①将字符串值 value 设置到 key 中,已经存在的 key 设置新的 value,会覆盖原来的值。

语法:set key value

在这里插入图片描述
②获取 key 中设置的字符串值

语法: get key

在这里插入图片描述

③将 key 中储存的数字值加 1,如果 key 不存在,则 key 的值先被初始化为 0 再执行 incr 操作(只能对数字类型的数据操作)

语法:incr key

在这里插入图片描述

④将 key 中储存的数字值减1,如果 key 不存在,则么 key 的值先被初始化为 0 再执行 decr 操作(只能对数字类型的数据操作)

语法:decr key

在这里插入图片描述

⑤如果 key 存在, 则将 value 追加到 key 原来旧值的末尾如果 key 不存在, 则将 key 设置值为 value
返回值:追加字符串之后的总长度

语法:append key value

在这里插入图片描述

⑥返回 key 所储存的字符串值的长度返回值:
如果key存在,返回字符串值的长度
key不存在,返回0

语法:strlen key

在这里插入图片描述

⑦获取 key 中字符串值从 start 开始 到 end 结束 的子字符串,包括 start 和 end, 负数表示从字符串的末尾开始, -1 表示最后一个字符
返回值:截取的子字符串。

语法:getrange key start end

在这里插入图片描述
在这里插入图片描述

⑧用 value 覆盖(替换)key 的存储的值从 offset 开始,不存在的 key 做空白字符串。
返回值:修改后的字符串的长度

语法:setrange key offset value

在这里插入图片描述
⑨同时设置一个或多个 key-value 对

语法:mset key value [key value…]

在这里插入图片描述

⑩获取(一个或多个)给定 key 的值
返回值:包含所有 key 的列表

语法:mget key [key …]

在这里插入图片描述

1.4)哈希类型的value操作命令

①哈希类型field(域 )和 value 的隐射表,value分为field和value,hset可将key中的值设置为value,如果 key 不存在,则新建 hash 表,执行赋值,如果有 field ,则覆盖值。
返回值:
如果 field 是 hash 表中新 field,且设置值成功,返回 1
如果 field 已经存在,旧值覆盖新值,返回 0

语法:hset hash 表的 key field value

在这里插入图片描述
key键已经存在则覆盖
在这里插入图片描述
②获取哈希表 key 中给定域 field 的值
返回值:field 域的值,如果 key 不存在或者 field 不存在返回 nil

语法:hget key field

在这里插入图片描述
获取不存在的 field,返回nil
在这里插入图片描述

③同时将多个 field-value (域-值)设置到哈希表 key 中,此命令会覆盖已经存在的 field, 若hash 表 key 不存在,创建空的 hash 表,执行 hmset.
返回值:设置成功返回 ok, 如果失败返回一个错误

语法:hmset key field value [field value…]

在这里插入图片描述
key 类型不是 hash,产生错误
在这里插入图片描述
④获取哈希表 key 中一个或多个给定域的值
返回值:返回和 field 顺序对应的值,如果 field 不存在,返回 nil

语法:hmget key field [field…]

在这里插入图片描述

⑤获取哈希表 key 中所有的域和值
返回值:以列表形式返回 hash 中域和域的值 ,key 不存在,返回空 hash

语法:hgetall key

在这里插入图片描述
不存在的 key,返回空列表
在这里插入图片描述
⑥删除哈希表 key 中指定域 field,不存在 field 直接忽略
返回值:成功删除的 field 的数量

语法:hdel key field [field…]

在这里插入图片描述

⑦查看哈希表 key 中的所有 field 域
返回值:包含所有 field 的列表,key 不存在返回空列表

语法:hkeys key

在这里插入图片描述

⑧返回哈希表中所有域的值
返回值:包含哈希表所有域值的列表,key 不存在返回空列表

语法:hvals key

在这里插入图片描述

⑨查看哈希表 key 中,给定域 field 是否存在
返回值:如果 field 存在,返回 1, 其他返回 0

语法:hexists key field

在这里插入图片描述

1.5)列表list类型的value操作命令

①将一个或多个值 value 插入到列表 key 的表头(最左边),从左边开始加入值,从左到右的顺序依次插入到表头,返回值:数字,新列表的长度

语法:lpush key value [value…]

在这里插入图片描述
在这里插入图片描述

②将一个或多个值 value 插入到列表 key 的表尾(最右边),各个 value 值按从左到右的顺序依次插入到表尾
返回值:数字,新列表的长度

语法:rpush key value [value…]

在这里插入图片描述

③获取列表 key 中指定区间内的元素,0 表示列表的第一个元素,start , stop 是列表的下标值, -1 表示列表的最后一个元素, start ,stop 超出列表的范围不会出现错误。
返回值:指定区间的列表

语法:lrange key start stop

在这里插入图片描述
显示列表中第 2 个元素,下标从 0 开始
在这里插入图片描述

④查询获取列表 key 中下标为指定 index 的元素,0 表示列表的第一个元素,start , stop 是列表的下标值, -1 表示列表的最后一个元素,
返回值:指定下标的元素;index 不在列表范围,返回 nil

语法:lindex key index

在这里插入图片描述
在这里插入图片描述
⑤获取列表 key 的长度
返回值:数值,列表的长度; key 不存在返回 0

语法:llen key

在这里插入图片描述
⑥根据参数 count 的值,移除列表中与参数 value 相等的元素, count >0 ,从列表的左侧向右开始移除; count < 0 从列表的尾部开始移除;count = 0 移除表中所有与 value 相等的值。
返回值:数值,移除的元素个数

语法:lrem key count value

在这里插入图片描述
删除列表中所有的指定元素,删除所有的 java
在这里插入图片描述
⑦将列表 key 下标为 index 的元素的值设置为 value。
返回值:设置成功返回 ok ; key 不存在或者 index 超出范围返回错误信息

语法:lset key index value

在这里插入图片描述

⑧将值 value 插入到列表 key 当中位于值 pivot 之前或之后的位置。key 不存在,pivot 不在列表中,不执行任何操作。
返回值:命令执行成功,返回新列表的长度。没有找到 pivot 返回 -1, key 不存在返回 0。

语法:linsert key BEFORE|ALFTER pivot value

修改列表 arch,在值 dao 之前加入 service
在这里插入图片描述
操作不存在的 pivot
在这里插入图片描述

1.6)集合类型的value操作命令

①将一个或多个 member 元素加入到集合 key 当中,已经存在于集合的 member 元素将被忽略,不会再加入。
返回值:加入到集合的新元素的个数。不包括被忽略的元素

语法:sadd key member [member…]

在这里插入图片描述

②获取集合 key 中的所有成员元素,不存在的 key 视为空集合

语法:smembers key

在这里插入图片描述

③判断 member 元素是否是集合 key 的成员
返回值:member 是集合成员返回 1,其他返回 0

语法:sismember key member

在这里插入图片描述

④获取集合里面的元素个数
返回值:数字,key 的元素个数。 其他情况返回 0

语法:scard key

在这里插入图片描述

⑤删除集合 key 中的一个或多个 member 元素,不存在的元素被忽略。
返回值:数字,成功删除的元素个数,不包括被忽略的元素。

语法:srem key member [member…]

在这里插入图片描述

⑥只提供 key,随机返回集合中一个元素;提供了 count 时,count 正数, 返回包含 count 个数元素的集合, 集合元素各不相同。count 是负数,返回一个 count 绝对值的长度的集合, 集合中元素可能会重复多次。
返回值:一个元素;多个元素的集合

语法:srandmember key [count]

随机显示集合的一个元素
在这里插入图片描述
使用 count 参数, count 是正数
在这里插入图片描述
使用 count 参数,count 是负数
在这里插入图片描述
⑦随机从集合中删除一个元素, count 是删除的元素个数。
返回值:被删除的元素,key 不存在或空集合返回 nil

语法:spop key [count]

随机从集合删除一个元素
在这里插入图片描述
随机删除指定个数的元素
在这里插入图片描述

1.7)有序集合类型的value操作命令

①将一个或多个 member 元素及其 score 值加入到有序集合 key 中,如果 member 存在集合中,则更新值;score 可以是整数或浮点数
返回值:数字,新添加的元素个数

语法:zadd key score member [score member…]

创建保存学生成绩的集合:studentscore
在这里插入图片描述
使用浮点数作为 score
在这里插入图片描述

②查询有序集合指定区间内的元素。集合成员按 score 值从小到大来排序。 start, stop 都是从 0 开始。0 是第一个元素,1 是第二个元素。以 -1 表示最后一个成员,-2 表示倒数第二个成员。使用WITHSCORES 选项让 score 和 value 一同返回。
返回值:自定区间的成员集合

语法:zrange key start stop [WITHSCORES]

显示集合的全部元素,不使用 WITHSCORES 则不显示 score
在这里插入图片描述
显示集合全部元素,并使用 WITHSCORES
在这里插入图片描述
显示0,1 二个成员
在这里插入图片描述
排序显示浮点数的 score
在这里插入图片描述
③返回有序集 key 中,指定区间内的成员。其中成员的位置按 score 值递减(从大到小) 来排列。其它同 zrange 命令。
返回值:自定区间的成员集合

语法:zrevrange key start stop [WITHSCORES]

在这里插入图片描述
④删除有序集合 key 中的一个或多个成员,不存在的成员被忽略
返回值:被成功删除的成员数量,不包括被忽略的成员。

语法:zrem key member [member…]

在这里插入图片描述

⑤获取有序集 key 的元素成员的个数返回值:key 存在返回集合元素的个数, key 不存在,返回 0

语法:zcard key

在这里插入图片描述

⑥获取有序集 key 中,所有 score 值介于 min 和 max 之间(包括 min 和 max)的成员,有序成员是按递增(从小到大)排序。
min ,max 是包括在内 , 使用符号 ( 表示不包括。 min , max 可以使用 -inf ,
+inf 表示最小和最大 limit 用来限制返回结果的数量和区间。 withscores 显示 score 和 value
返回值:指定区间的集合数据使用的准备数据

语法:zrangebyscore key min max [WITHSCORES ] [LIMIT offset count]

在这里插入图片描述

在这里插入图片描述
显示指定具体区间的集合数据,开区间(不包括 min,max)
在这里插入图片描述
显示整个集合的所有数据
在这里插入图片描述
使用 limit 增加新的数据
在这里插入图片描述
在这里插入图片描述
⑦返回有序集 key 中, score 值介于 max 和 min 之间(默认包括等于 max 或 min )的所有的成员。有序集成员按 score 值递减(从大到小)的次序排列。其他同 zrangebyscore

语法:zrevrangebyscore key max min [WITHSCORES ] [LIMIT offset count]

在这里插入图片描述

⑧返回有序集 key 中, score 值在 min 和 max 之间(默认包括 score 值等于 min 或 max ) 的成员的数量

语法:zcount key min max

工资在 3000-5000 的员工数量
在这里插入图片描述

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

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

相关文章

轻松预约,尽享美食,详解餐厅预约小程序的设计与实现

随着智能手机的普及和人们生活水平的提高&#xff0c;餐厅预约已经成为人们日常生活中的一部分。为了更好地满足人们的需求&#xff0c;许多餐厅开始使用小程序来提供更方便快捷的预约服务。本文将介绍如何制作一款餐厅预约小程序的详细步骤。 1. 进入乔拓云网后台&#xff0c;…

基于Crow的C++的WebSocket服务器

基于Crow的C的WebSocket服务器 一、WebSocket 1.1 什么是WebSocket WebSocket 是一种持久化的通讯协议。 很多网站为了实现推送技术&#xff0c;所用的技术都是轮询&#xff0c;这种解决方案是指由浏览器每隔一段时间向服务器发出 HTTP 请求&#xff0c;然后服务器返回最新的…

安卓:实现复制粘贴功能

目录 一、介绍 &#xff08;一&#xff09;ClipboardManager介绍 1、ClipboardManager常用方法&#xff1a; 2、获取 ClipboardManager实例 &#xff08;二&#xff09;、ClipData介绍 1、创建ClipData对象&#xff1a; 2、获取ClipData的信息&#xff1a; 3、ClipData…

【代码】表格封装 + 高级查询 + 搜索 +分页器 (极简)

一、标题 查询条件按钮&#xff08;Header&#xff09; <!-- Header 标题搜索栏 --> <template><div><div class"header"><div class"h-left"><div class"title"><div class"desc-test">…

基于kettle实现pg数据定时转存mongodb

mogodb 待创建 基于kettle实现pg数据定时转存mongodb_kettle 实时迁移 mongodb_呆呆的私房菜的博客-CSDN博客

状态模式(C++)

定义 允许一个对象在其内部状态改变时改变它的行为。从而使对象看起来似乎修改了其行为。 应用场景 在软件构建过程中&#xff0c;某些对象的状态如果改变&#xff0c;其行为也会随之&#xff0c;而发生变化&#xff0c;比如文档处于只读状态&#xff0c;其支持的行为和读写…

【JVM】 垃圾回收篇——自问自答(1)

Q什么是垃圾&#xff1a; 运行程序中&#xff0c;没用任何指针指向的对象。 Q为什么需要垃圾回收&#xff1f; 内存只分配&#xff0c;不整理回收&#xff0c;迟早会被消耗完。 内存碎片的整理&#xff0c;为新对象腾出空间 没有GC程序无法正常进行。 Q 哪些区域有GC&#…

esp8266使用arduinoJson与tft_espi库发生冲突解决方法

esp8266使用arduinoJson与tft_espi库发生冲突解决方法 arduinoJson与tft_espi库发生冲突解决方法下载arduinoJson5.0版本的&#xff0c;不要用最新版本 示范代码&#xff1a; // Copyright Benoit Blanchon 2014 // MIT License // // Arduino JSON library // https://git…

springboot mongo 使用

nosql对我来说&#xff0c;就是用它的变动列&#xff0c;如果列是固定的&#xff0c;我为什么不用mysql这种关系型数据库呢&#xff1f; 所以&#xff0c;现在网上搜出来的大部分&#xff0c;用实体类去接的做法&#xff0c;并不适合我的需求。 所以&#xff0c;整理记录一下…

【资料分享】全志科技T507-H工业核心板规格书

1 核心板简介 创龙科技SOM-TLT507是一款基于全志科技T507-H处理器设计的4核ARM Cortex-A53全国产工业核心板&#xff0c;主频高达1.416GHz。核心板CPU、ROM、RAM、电源、晶振等所有元器件均采用国产工业级方案&#xff0c;国产化率100%。 核心板通过邮票孔连接方式引出MIPI C…

Winform中DatagridView 表头实现一个加上一个checkBox,实现全选选项功能

实现效果 点击checkBox1或者直接在第一列列表头点击即可实现 代码实现 我的datagridview叫dgv 我在datagridview已经默认添加了一个DataGridViewCheckBoxColumn&#xff0c;勾选时value为1&#xff0c;不勾选时value为0 第一种通过可视化拖动一个checkBox来实现 拖动组…

IC岗位详解| 高薪模拟版图工程师需要掌握哪些技能?

IC模拟版图设计在IC行业中是门槛相对较低的一个岗位&#xff0c;其他岗位大都要求是科班毕业&#xff0c;或者是硕士以上学历&#xff0c;IC模拟版图设计本科生也很好入门&#xff0c;对于基础差的同学这是非常好的一个入门机会。 模拟版图工程师介绍 模拟版图设计工程师为专…