redis常用命令汇总

本文章目录结构如下所示

  • 1.redis 前置命令
  • 2.redis的5种数据类型
    • A、 字符串类型 string
    • B、 哈希类型 hash –java对象
    • C、 列表类型 list –java list array
    • D、 集合类型 set – hashset
    • E、 有序集合类型 zset (sorted set) - treeset
  • 3. Redis 数据类型操作命令
    • 3.1 字符串类型(string)
      • 基本命令
        • A、 set
        • B、 get
        • C、 incr
        • D、 decr
        • E、 append
      • 常用命令
        • A、 strlen
        • B、 getrange
        • C、 setrange
        • D、 mset
        • E、 mget
    • 3.2 哈希类型 hash
      • 基本命令
        • A、 hset
        • B、 hget
        • C、 hmset
        • D、 hmget
        • E、 hgetall
        • F、 hdel
      • 常用命令
        • A、 hkeys
        • B、 hvals
        • C、 hexists
    • 3.3 列表 list
      • 基本命令
        • A、 lpush
        • B、 rpush
        • C、 lrange
        • D、 lindex
        • E、 llen
      • 常用命令
        • A、lrem
        • B、 lset
        • C、 linsert
    • 3.4 集合类型 set
      • 基本命令
        • A、 sadd
        • B、 smembers
        • C、 sismember
        • D、 scard
        • E、 srem
      • 常用命令
        • A、 srandmember
        • B、 spop
    • 3.5 有序集合类型 zset (sorted set)
      • 基本命令
        • A、 zadd
        • B、 zrange
        • C、 zrevrange
        • D、 zrem
      • 常用命令
        • A、 zrangebyscore
        • B、 zrevrangebyscore
        • C、 zcount

1.redis 前置命令

(在 redis.conf 文件可配置,该文件很重要,后续很多操作都是这个配置文件) redis 默认自动使用 0 号库
1) 沟通命令,查看状态
redis >ping 返回 PONG
解释:输入 ping,redis 给我们返回 PONG,表示 redis 服务运行正常
redis常用命令汇总_第1张图片

(2) 查看当前数据库中 key 的数目:dbsize
语法:dbsize 作用:返回当前数据库的 key 的数量。
返回值:数字,key的数量
redis常用命令汇总_第2张图片

例:先查索引5的key个数, 再查 0 库的key个数
redis常用命令汇总_第3张图片
(3) redis 默认使用 16 个库
Redis 默认使用 16 个库,从 0 到 15。 对数据库个数的修改,在 redis.conf 文件中
databases 16
在这里插入图片描述
(4) 切换库命令:select db
使用其他数据库,命令是 select index
例1: select 5
redis常用命令汇总_第4张图片
(5) 删除当前库的数据:flushdb
redis常用命令汇总_第5张图片
6) redis 自带的客户端退出当前 redis 连接: exit 或 quit
在这里插入图片描述
7)Redis 的 Key 的操作命令
A、 keys
语法:keys pattern 作用:查找所有符合模式 pattern 的 key. pattern 可以使用通配符。通配符:

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

例 1:显示所有的 key
redis常用命令汇总_第6张图片
例 2:使用 * 表示 0 或多个字符
redis常用命令汇总_第7张图片
3:使用 ? 表示单个字符
redis常用命令汇总_第8张图片
B、 exists
语法:exists key [key…]
作用:判断 key 是否存在返回值:整数,存在 key 返回 1,其他返回 0. 使用多个 key,返回存在的 key 的数量。
例 1:检查指定 key 是否存在
redis常用命令汇总_第9张图片
C、 expire
语法:expire key seconds
作用:设置 key 的生存时间,超过时间,key 自动删除。单位是秒。
返回值:设置成功返回数字 1, 其他情况是 0 。
例 1: 设置红灯的倒计时是 5 秒

redis常用命令汇总_第10张图片

redis常用命令汇总_第11张图片
D、 ttl
语法:ttl key
作用:以秒为单位,返回 key 的剩余生存时间(ttl: time to live)返回值:

  • -1 :没有设置 key 的生存时间, key 永不过期。
  • -2 :key 不存在
  • 数字:key 的剩余时间,秒为单位

例 1:设置 redlight 的过期时间是 10, 查看剩余时间
redis常用命令汇总_第12张图片
E、 type
语法:type key
作用:查看 key 所存储值的数据类型返回值:字符串表示的数据类型

  • none (key 不存在)
  • string (字符串)
  • list (列表) set (集合)
  • zset (有序集)
  • hash (哈希表)

例 1:查看存储字符串的 key :wei
redis常用命令汇总_第13张图片
例 2:查看不存在的 key
redis常用命令汇总_第14张图片
F、 del
语法:del key [key…]
作用:删除存在的 key ,不存在的 key 忽略。
返回值:数字,删除的 key 的数量。

例 1:删除指定的 key
redis常用命令汇总_第15张图片

2.redis的5种数据类型

A、 字符串类型 string

 字符串类型是 Redis 中最基本的数据类型,它能存储任何形式的字符串,包括二进制数据,序列化后的数据,JSON 化的对象甚至是一张图片。最大 512M。 

redis常用命令汇总_第16张图片

B、 哈希类型 hash –java对象

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

redis常用命令汇总_第17张图片

C、 列表类型 list –java list array

Redis 列表是简单的字符串列表,按照插入顺序排序。你可以添加一个元素到列表的头部(左边)或者尾部(右边)
redis常用命令汇总_第18张图片

D、 集合类型 set – hashset

Redis 的 Set 是 string 类型的无序集合,集合成员是唯一的,即集合中不能出现重复的数据.
redis常用命令汇总_第19张图片

E、 有序集合类型 zset (sorted set) - treeset

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

3. Redis 数据类型操作命令

3.1 字符串类型(string)

字符串类型是 Redis 中最基本的数据类型,它能存储任何形式的字符串,包括二进制数据,序列化后的数据,JSON 化的对象甚至是一张图片

基本命令

A、 set

将字符串值 value 设置到 key 中
语法:set key value
redis常用命令汇总_第21张图片
查看已经插入的key
redis常用命令汇总_第22张图片
向已经存在的 key 设置新的 value,会覆盖原来的值
redis常用命令汇总_第23张图片

B、 get

获取 key 中设置的字符串值
语法: get key
例如:获取 username 这个 key 对应的 value
redis常用命令汇总_第24张图片

C、 incr

将 key 中储存的数字值加 1,如果 key 不存在,则 key 的值先被初始化为 0 再执行 incr 操作(只能对数字类型的数据操作)
语法:incr key
例 1:操作key,值增加 1
redis常用命令汇总_第25张图片
例 2:对非数字的值操作是不行的
redis常用命令汇总_第26张图片

D、 decr

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

语法:decr key
例1:不存在的key,初值为0,再减 1 。
在这里插入图片描述
例2:对存在的数字值的 key ,减 1 。先执行 incr index ,增加到 3
redis常用命令汇总_第27张图片
incr ,decr 在实现关注人数上,文章的点击数上。

E、 append

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

例 1:追加内容到存在的 key
redis常用命令汇总_第28张图片

例 2:追加到不存在的 key,同 set key value
redis常用命令汇总_第29张图片

常用命令

A、 strlen

语法:strlen key
说明:返回 key 所储存的字符串值的长度返回值:
①:如果key存在,返回字符串值的长度
②:key不存在,返回0

例 1:计算存在 key 的字符串长度
在这里插入图片描述

设置中文 set k4 中文长度 , 按字符个数计算

例 2:计算不存在的 key
redis常用命令汇总_第30张图片

B、 getrange

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

例 1: 截取从 2 到 5 的字符
redis常用命令汇总_第31张图片
例 2:从字符串尾部截取,start ,end 是负数,最后一位是 -1
redis常用命令汇总_第32张图片
例 3:超出字符串范围的截取 ,获取合理的子串
redis常用命令汇总_第33张图片

C、 setrange

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

例 1:替换给定的字符串
redis常用命令汇总_第34张图片
例 2:设置不存在的 key
redis常用命令汇总_第35张图片

D、 mset

语法:mset key value [key value…]
说明:同时设置一个或多个 key-value 对返回值: OK

例 1:一次设置多个 key, value
redis常用命令汇总_第36张图片

E、 mget

语法:mget key [key …]
作用:获取所有(一个或多个)给定 key 的值返回值:包含所有 key 的列表

例 1:返回多个 key 的存储值
redis常用命令汇总_第37张图片
例 2:返回不存在的 key
redis常用命令汇总_第38张图片

3.2 哈希类型 hash

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

基本命令

A、 hset

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

例 1:新的 field
在这里插入图片描述
例 2:覆盖旧的的 field
在这里插入图片描述

B、 hget

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

例 1:获取存在 key 值的某个域的值
redis常用命令汇总_第39张图片
例 2:获取不存在的 field
redis常用命令汇总_第40张图片

C、 hmset

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

例 1:同时设置多个 field-value
在这里插入图片描述
使用 redis-desktop-manager 工具查看 hash 表 website 的数据结构
redis常用命令汇总_第41张图片
例 2:key 类型不是 hash,产生错误
redis常用命令汇总_第42张图片

D、 hmget

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

redis常用命令汇总_第43张图片

E、 hgetall

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

例 1:返回 key 对应的所有域和值
redis常用命令汇总_第44张图片
例 2:不存在的 key,返回空列表
redis常用命令汇总_第45张图片

F、 hdel

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

例 1:删除指定的 field
redis常用命令汇总_第46张图片

常用命令

A、 hkeys

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

例 1:查看 website 所有的域名称
redis常用命令汇总_第47张图片

B、 hvals

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

例 1:显示 website 哈希表所有域的值
redis常用命令汇总_第48张图片

C、 hexists

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

例 1:查看存在 key 中 field 域是否存在
在这里插入图片描述

3.3 列表 list

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

基本命令

A、 lpush

语法:lpush key value [value…]
作用:将一个或多个值 value 插入到列表 key 的表头(最左边),从左边开始加入值,从左到右的顺序依次插入到表头
返回值:数字,新列表的长度
在这里插入图片描述
redis-desktop-manager 显示
redis常用命令汇总_第49张图片
redis常用命令汇总_第50张图片

例 2:插入重复值到 list 列表类型
redis常用命令汇总_第51张图片
在 redis-desktop-manager 显示
redis常用命令汇总_第52张图片

B、 rpush

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

例 1:插入多个值到列表
redis常用命令汇总_第53张图片
redis常用命令汇总_第54张图片

C、 lrange

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

例 1:返回列表的全部内容
redis常用命令汇总_第55张图片
例 2:显示列表中第 2 个元素,下标从 0 开始
redis常用命令汇总_第56张图片

D、 lindex

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

例 1:返回下标是 1 的元素
redis常用命令汇总_第57张图片
2:不存在的下标
redis常用命令汇总_第58张图片

E、 llen

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

例 1:显示存在 key 的列表元素的个数
redis常用命令汇总_第59张图片

常用命令

A、lrem

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

例 1:删除 2 个相同的列表元素
redis常用命令汇总_第60张图片
redis常用命令汇总_第61张图片

B、 lset

语法:lset key index value 作用:将列表 key 下标为 index 的元素的值设置为 value。
返回值:设置成功返回 ok ; key 不存在或者 index 超出范围返回错误信息
例 1:设置下标 2 的 value 为“c”。
redis常用命令汇总_第62张图片

C、 linsert

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

例 1:修改列表 arch,在值 dao 之前加入 service
redis常用命令汇总_第63张图片
redis常用命令汇总_第64张图片
在这里插入图片描述
redis常用命令汇总_第65张图片

3.4 集合类型 set

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

基本命令

A、 sadd

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

例 1:添加单个元素
redis常用命令汇总_第66张图片
例 2:添加多个元素
redis常用命令汇总_第67张图片

B、 smembers

语法:smembers key
作用:获取集合 key 中的所有成员元素,不存在的 key 视为空集合

例 1:查看集合的所有元素
redis常用命令汇总_第68张图片
例 2:查看不存在的集合
redis常用命令汇总_第69张图片

C、 sismember

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

例 1:检查元素是否存在集合中
redis常用命令汇总_第70张图片

D、 scard

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

例 1:统计集合的大小
在这里插入图片描述

E、 srem

语法:srem key member [member…]
作用:删除集合 key 中的一个或多个 member 元素,不存在的元素被忽略。
返回值:数字,成功删除的元素个数,不包括被忽略的元素。
redis常用命令汇总_第71张图片

常用命令

A、 srandmember

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

例 1:随机显示集合的一个元素
redis常用命令汇总_第72张图片
例 2:使用 count 参数, count 是正数
redis常用命令汇总_第73张图片

例 3:使用 count 参数,count 是负数
redis常用命令汇总_第74张图片

B、 spop

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

例如 1:随机从集合删除一个元素
redis常用命令汇总_第75张图片
2:随机删除指定个数的元素
redis常用命令汇总_第76张图片

3.5 有序集合类型 zset (sorted set)

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

基本命令

A、 zadd

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

例 1:创建保存学生成绩的集合

在这里插入图片描述
例 2:使用浮点数作为 score
在这里插入图片描述

B、 zrange

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

例 1:显示集合的全部元素,不显示 score,不使用 WITHSCORES
redis常用命令汇总_第77张图片
2:显示集合全部元素,并使用 WITHSCORES
redis常用命令汇总_第78张图片
3:显示第 0,1 二个成员
redis常用命令汇总_第79张图片
例 4:排序显示浮点数的 score
redis常用命令汇总_第80张图片

C、 zrevrange

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

例 1:成绩榜
redis常用命令汇总_第81张图片

D、 zrem

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

例 1:删除指定一个成员 wangwu
redis常用命令汇总_第82张图片
E、 zcard
语法:zcard key
作用:获取有序集 key 的元素成员的个数返回值:key 存在返回集合元素的个数, key 不存在,返回 0

例 1:查询集合的元素个数
在这里插入图片描述

常用命令

A、 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 返回值:指定区间的集合数据使用的准备数据
redis常用命令汇总_第83张图片
例 1:显示指定具体区间的数据
redis常用命令汇总_第84张图片
例 2:显示指定具体区间的集合数据,开区间(不包括 min,max)
redis常用命令汇总_第85张图片
例 3:显示整个集合的所有数据
redis常用命令汇总_第86张图片
例 4:使用 limit 截取的数据:
redis常用命令汇总_第87张图片
显示从第一个位置开始,取一个元素。
在这里插入图片描述

B、 zrevrangebyscore

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

例 1:查询工资最高到 3000 之间的员工
redis常用命令汇总_第88张图片

C、 zcount

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

例 1:求工资在 3000-5000 的员工数量
redis常用命令汇总_第89张图片

你可能感兴趣的:(笔记,redis,数据库,nosql)