文章目录

  • Redis操作命令
    • 1.1 Redis基本操作命令
    • 1.2 Redis的key的操作命令
    • 1.3 Redis数据类型操作命令
      • 1.3.1 字符串类型string
        • 1.3.1.1 基本命令
        • 1.3.1.2 常用命令
      • 1.3.2 哈希类型hash
        • 1.3.2.1 基本命令
        • 1.3.2.2 常用命令
      • 1.3.3 列表list
        • 1.3.3.1 基本命令
        • 1.3.3.2 常用命令
      • 1.3.4 集合类型set
        • 1.3.4.1 基本命令
        • 1.3.4.2 常用命令
      • 1.3.5 有序集合类型zset
        • 1.3.5.1 基本命令
        • 1.3.5.2 常用命令

Redis操作命令

1.1 Redis基本操作命令

redis 默认为 16 个库 (在 redis.conf 文件可配置,该文件很重要,后续很多操作都是这个配置文件) redis 默认自动使用 0 号库
(1)沟通命令,查看状态
连接到客户端之后,输入ping,redis返回pong。表示redis能够正常运行。

(2)查看当前数据库中key的数量:dbsize

(3)切换库命令:select db
库的下标从0开始,redis.conf配置中默认16个库。下标0-15

(4)删除当前数据库的所有数据:flushdb

(5)退出客户端连接:exit或者quit

1.2 Redis的key的操作命令

语法 功能
keys pattern 查看数据库所有符合pattern的key
exists key [key…] 判断key是否存在
expire key seconds 设置 key 的生存时间,超过时间,key 自动删除。单位是秒。
ttl key 以秒为单位,返回 key 的剩余生存时间(ttl: time to live)
type key 查看 key 所存储值的数据类型
del key [key…] 删除存在的 key,不存在的 key 忽略。

举例:
1、keys :*表示任意字符 ,?表示单个字符

2、exists:返回存在的key的数量

3、expire & ttl
设置key的过期时间,设置成功返回1,其他情况返回0.
ttl查看剩余生存时间。
返回-1表示key未设置过期时间,永不过期。
返回-2表示key已过期或不存在。
返回正数表示key的剩余生存时间。

4、type
返回key存储的value的数据类型
none:key不存在
string:字符串
list:列表
set:集合
zset:有序集
hash:哈希表

6、del
删除指定的key。不存在的key忽略,返回0。
返回删除的key的个数

1.3 Redis数据类型操作命令

1.3.1 字符串类型string

字符串类型是 Redis 中最基本的数据类型,它能存储任何形式的字符串,包括二进制数据,序列化后的数据,JSON 格式数据。

1.3.1.1 基本命令

1、set
语法:set key value
把value的值赋给key

2、get
语法:get key
获取key的value

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

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


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

1.3.1.2 常用命令

1、strlen
语法:strlen key
返回key存储的value的总长度,key不存在返回0

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

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

4、mset
语法:mset key value [key value…]
说明:同时设置一个或多个 key-value 对
返回值:OK
5、mget
语法:mget key [key …]
作用:获取所有(一个或多个)给定 key 的值
返回值:包含所有 key 的列表

1.3.2 哈希类型hash

redis hash 是一个 string 类型的 field 和 value 的映射表,hash 特别适合用于存储对象。

1.3.2.1 基本命令

1、hset
语法:hset hash 表的 key field value
作用:将哈希表 key 中的域 field 的值设为 value,如果 key 不存在,则新建 hash 表,执行赋值,如果有 field ,则覆盖值。
返回值:
①如果 field 是 hash 表中新 field,且设置值成功,返回 1 ②如果 field 已经存在,旧值覆盖新值


2、hget
语法:hget key field
作用:获取哈希表 key 中给定域 field 的值
返回值:field 域的值,如果 key 不存在或者 field 不存在返回 nil

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


4、hmget
语法:hmget key field [field…]
作用:获取哈希表 key 中一个或多个给定域的值
返回值:返回和 field 顺序对应的值,如果 field 不存在,返回 nil

5、hgetall
语法:hgetall key
作用:获取哈希表 key 中所有的域和值
返回值:以列表形式返回 hash 中域和域的值,key 不存在,返回空 hash

6、hdel
语法:hdel key field [field…]
作用:删除哈希表 key 中的一个或多个指定域 field,不存在 field 直接忽略
返回值:成功删除的 field 的数量

1.3.2.2 常用命令

1、hkeys
语法:hkeys key
作用:查看哈希表 key 中的所有 field 域
返回值:包含所有 field 的列表,key 不存在返回空列表

2、hvals
语法:hvals key
作用:返回哈希表 中所有域的值
返回值:包含哈希表所有域值的列表,key 不存在返回空列表

3、hexists
语法:hexists key field
作用:查看哈希表 key 中,给定域 field 是否存在
返回值:如果 field 存在,返回 1,其他返回 0

1.3.3 列表list

Redis 列表是简单的字符串列表,按照插入顺序排序。你可以添加一个元素导列表的头部(左边)或者尾部(右边)

1.3.3.1 基本命令

1、lpush
语法:lpush key value [value…]
作用:将一个或多个值 value 插入到列表 key 的表头(最左边),从左边开始加入值,从左到右的顺序依次插入到表头
返回值:数字,新列表的长度


插入图示:

2、rpush
语法:rpush key value [value…]
作用:将一个或多个值 value 插入到列表 key 的表尾(最右边),各个 value 值按从左到右的顺序依次插入到表尾
返回值:数字,新列表的长度


3、lrange
语法:lrange key start stop
作用:获取列表 key 中指定区间内的元素,0 表示列表的第一个元素,以 1 表示列表的第二个元素;start , stop 是列表的下标值,也可以负数的下标, -1 表示列表的最后一个元素, -2 表示列表的倒数第二个元素,以此类推。start ,stop 超出列表的范围不会出现错误。
返回值:指定区间的列表

4、lindex
语法:lindex key index
作用:获取列表 key 中下标为指定 index 的元素,列表元素不删除,只是查询。0 表示列表的第一个元素,以 1 表示列表的第二个元素;start , stop 是列表的下标值,也可以负数的下标, -1 表示列表的最后一个元素, -2 表示列表的倒数第二个元素,以此类推。
返回值:指定下标的元素;index 不在列表范围,返回 nil

5、llen
语法:llen key
作用:获取列表 key 的长度
返回值:数值,列表的长度;key 不存在返回 0

1.3.3.2 常用命令

1、lrem
语法:lrem key count value
作用:根据参数 count 的值,移除count个 列表中与参数 value 相等的元素,count >0 ,从列表的左侧向右开始移除;count < 0 从列表的尾部开始移除;count = 0 移除表中所有与 value 相等的值。
返回值:数值,移除的元素个数

2、lset
语法:lset key index value
作用:将列表 key 下标为 index 的元素的值设置为 value。
返回值:设置成功返回 ok ; key 不存在或者 index 超出范围返回错误信息

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

1.3.4 集合类型set

redis 的 Set 是 string 类型的无序集合,集合成员是唯一的,即集合中不能出现重复的数据

1.3.4.1 基本命令

1、sadd
语法:sadd key member [member…]
作用:将一个或多个 member 元素加入到集合 key 当中,已经存在于集合的 member 元素将被忽略,不会再加入。
返回值:加入到集合的新元素的个数。不包括被忽略的元素。
2、smembers
语法:smembers key
作用:获取集合 key 中的所有成员元素,不存在的 key 视为空集合

3、sismember
语法:sismember key member
作用:判断 member 元素是否是集合 key 的成员
返回值:member 是集合成员返回 1,其他返回 0 。

4、scard
语法:scard key
作用:获取集合里面的元素个数
返回值:数字,key 的元素个数。其他情况返回 0 。

5、srem
语法:srem key member [member…]
作用:删除集合 key 中的一个或多个 member 元素,不存在的元素被忽略。
返回值:数字,成功删除的元素个数,不包括被忽略的元素。

1.3.4.2 常用命令

1、srandmember
语法:srandmember key [count]
作用:只提供 key,随机返回集合中一个元素,元素不删除,依然在集合中;提供了 count时,count 正数, 返回包含 count 个数元素的集合,集合元素各不相同。count 是负数,返回一个 count 绝对值的长度的集合,集合中元素可能会重复多次。
返回值:一个元素;多个元素的集合

2、spop
语法:spop key [count]
作用:随机从集合中删除一个元素, count 是删除的元素个数。
返回值:被删除的元素,key 不存在或空集合返回 nil

1.3.5 有序集合类型zset

redis 有序集合zset和集合set一样也是string类型元素的集合,且不允许重复的成员。不同的是 zset 的每个元素都会关联一个分数(分数可以重复),redis 通过分数来为集合中的成员进行从小到大的排序。

1.3.5.1 基本命令

1、zadd
语法:zadd key score member [score member…]
作用:将一个或多个 member 元素及其 score 值加入到有序集合 key 中,如果 member 存在集合中,则更新值;score 可以是整数或浮点数
返回值:数字,新添加的元素个数

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

3、zrevrange
语法:zrevrange key start stop [WITHSCORES]
作用:返回有序集 key 中,指定区间内的成员。其中成员的位置按 score 值递减(从大到小)来排列。其它同 zrange 命令。
返回值:自定区间的成员集合

4、zrem
语法:zrem key member [member…]
作用:删除有序集合 key 中的一个或多个成员,不存在的成员被忽略
返回值:被成功删除的成员数量,不包括被忽略的成员。

5、zcard
语法:zcard key
作用:获取有序集 key 的元素成员的个数
返回值:key 存在返回集合元素的个数, key 不存在,返回 0

1.3.5.2 常用命令

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

2、zrevrangebyscore
语法:zrevrangebyscore key max min [WITHSCORES ] [LIMIT offset count]
作用:返回有序集 key 中, score 值介于 max 和 min 之间(默认包括等于 max 或 min )的所有的成员。有序集成员按 score 值递减(从大到小)的次序排列。其他同 zrangebyscore

3、zcount
语法:zcount key min max
作用:返回有序集 key 中,score 值在 min 和 max 之间(默认包括 score 值等于 min 或 max )的成员的数量

Redis基本操作命令(图文详解)相关推荐

  1. 可视化的Redis数据库管理工具redis-desktop-manager的初步使用(图文详解)

    不多说,直接上干货! 无论是Linux 还是 Windows里安装Redis, Windows里如何正确安装Redis以服务运行(博主推荐)(图文详解) Windows下如何正确下载并安装可视化的Re ...

  2. 面渣逆袭:Redis连环五十二问,图文详解,这下面试稳了

    大家好,我是老三,面渣逆袭系列继续,这节我们来搞定Redis--不会有人假期玩去了吧?不会吧? 基础 1.说说什么是Redis? Redis是一种基于键值对(key-value)的NoSQL数据库. ...

  3. 一文带你轻松搞懂事务隔离级别(图文详解)

    本文由 SnailClimb 和读者 BugSpeak 共同完成. 事务隔离级别(图文详解) 什么是事务? 事务是逻辑上的一组操作,要么都执行,要么都不执行. 事务最经典也经常被拿出来说例子就是转账了 ...

  4. Disconf 学习系列之全网最详细的最新稳定Disconf 搭建部署(基于Windows7 / 8 / 10)(图文详解)...

    不多说,直接上干货! 工作环境以及安装依赖软件 Zookeeper-3.4.8 Disconf 2.6.36 Nginx 1.9.9(见如下博文的phpstudy) redis JDK1.8.0_66 ...

  5. Redis持久化——AOF机制详解

    在运行情况下,Redis 以数据结构的形式将数据维持在内存中,为了让这些数据在 Redis 重启之后仍然可用,需要将数据写入持久存储 持久化是指将数据写入持久存储,例如固态磁盘(SSD) Redis ...

  6. 【图文详解】一文全面彻底搞懂HBase、LevelDB、RocksDB等NoSQL背后的存储原理:LSM-tree日志结构合并树...

    LSM 树广泛用于数据存储,例如 RocksDB.Apache AsterixDB.Bigtable.HBase.LevelDB.Apache Accumulo.SQLite4.Tarantool.W ...

  7. Redis基础及原理详解

    Redis基础及原理详解 前言:以下是最近学习redis的一些笔记总结,文中如有不当的地方欢迎批评指正,重在记录与学习,笔芯~~ Nosql概述 演进历史 单机mysql Memcached(缓存)+ ...

  8. Redis 数据类型 Strings 类型详解

    Redis 数据类型 Strings 类型详解 bitmap 操作 SETBIT • SETBIT key offset value 起始版本:2.2.0 时间复杂度:O(1) 设置或者清空key的v ...

  9. 数据库学习笔记第一弹——MySQL8.0和MySQL5.7的下载、安装与配置(图文详解步骤2022)

    数据库学习笔记第一弹--MySQL8.0和MySQL5.7的下载.安装与配置(图文详解步骤2022) 文章目录 数据库学习笔记第一弹--MySQL8.0和MySQL5.7的下载.安装与配置(图文详解步 ...

  10. c语言 多线程 传话,code vs1506传话(塔尖)+tarjan图文详解

    1506 传话 时间限制: 1 s 空间限制: 128000 KB 题目等级 : 白银 Silver 题目描述 Description 一个朋友网络,如果a认识b,那么如果a第一次收到某个消息,那么会 ...

最新文章

  1. Git探秘:实用主义(1/2)
  2. 在Azure Cosmos DB里设置filter搜索记录
  3. mysql 多行拼接注入_MySQL注入汇总
  4. Docker学习笔记 - Docker Compose
  5. leetcode5. 最长回文子串(动态规划)
  6. Socket实现Android客户端与服务器的通信
  7. android流量显示插件,[android]仿360状态,种流量监控桌面浮动显示
  8. python面试题之Python支持什么数据类型?
  9. 【Elasticsearch】es IK分词器的安装
  10. elasticsearch的一个bug总结
  11. 【论文笔记】激光里程计网络 LO-Net:Deep Real-time Lidar Odometry2019
  12. 经纬度转换度分秒工具
  13. python输出一棵树_如何用Python画一棵树
  14. 有时候内卷也可以走捷径,比如几行代码也可以霸榜朋友圈~
  15. Java桌面程序打包全过程
  16. 动态沙箱是威胁防御的关键所在
  17. 如何在系统测试中关注安全问题
  18. python 判断号码是否可用(号码过滤)
  19. 基于电动汽车的带时间窗的路径优化(PythonMatlab代码实现)
  20. 据说可以坚持练习可以长高

热门文章

  1. [error] Vivado代码仿真时错误提示:ERROR: [Common 17-39] ‘launch_simulation‘ failed due to earlier errors.
  2. C语言笔记 · 输入函数(scanf(),getchar(),getche(),getch(),gets())
  3. 使用FeatureTask多线程优化in,提高查询速度
  4. 这么多嵌入式设计创意,哪个你曾想过?
  5. 嵌入式系统和嵌入式操作系统
  6. laradock 安装swoole
  7. gz 文件解压缩命令
  8. 10.MySQL文件
  9. Selenium 启动IE浏览器常见问题
  10. 基于低秩张量的高光谱图像重建理论基础-基础知识学习