Redis教程:常用命令汇总


数据库相关命令

  • dbsize: 查看当前数据库中键的数量
  • flushdb:清空当前数据库
  • flushall: 清空所有数据库
  • select: 切换数据库(默认为16个库,0-15号)

Key相关命令

既然Redis是通过键值对来存储数据的,它自然就提供了很多和Key相关的命令:

  • del YOUR_KEY: 删除键
  • exists YOUR_KEY: 查看键是否存在
  • expire YOUR_KEY SECONDS: 在SECONDS秒之后使得键YOUR_KEY过期
  • keys *: 查看所有键,除此之外,还有很灵活的查询方式,比如:keys a*, keys ???等
  • ttl YOUR_KEY:查看还有多少秒指定的键YOUR_KEY过期,-1代表永不过期
  • type YOUR_KEY: 查看键的数据类型
  • unlink YOUR_KEY: 根据值选择非阻塞性删除(异步删除)

Value相关命令

  • append KEY VALUE: 将指定的值追加到原来值的末尾
  • decr KEY:将KEY对应的数字值减1。注意只能对数字值操作,如果为空的话,减后的值为-1
  • decrby KEY:将KEY对应的数字值按指定步长减少。
  • get KEY: 获取指定键对应的值
  • getset KEY NEW_VALUE: 在获取旧值的同时设置新值
  • getrange KEY START END: 获取键值的指定范围内的值(子字符串)
  • incr KEY:将KEY对应的数字值增1。注意只能对数字值操作,如果为空的话,新增后的值为1
  • incrby KEY:将KEY对应的数字值按指定步长增加。
  • mget KEY1 KEY2 KEY3: 同时获取多个值
  • mset KEY1 VALUE1 KEY2 VALUE2 KEY3 VALUE3: 同时设置多个键值
  • msetnx KEY1 VALUE1 KEY2 VALUE2 KEY3 VALUE3: 同时设置多个键值,如果键已经存在,则不会进行覆盖原值操作
  • set KEY VALUE: 为指定键赋值
  • setex KEY SECONDS VALUE:在赋值的同时设定该值的过期时间
  • setnx KEY VALUE:只有当KEY不存在时,设置其值
  • strlen KEY: 获取值的长度

列表相关命令

  • lindex KEY index:按照索引下标取元素
  • linsert KEY before/after VALUE NEWVALUE:
  • llen KEY: 获取列表长度
  • lrem KEY N VALUE: 从左边删除 N 个值为VALUE的数值
  • lset KEY INDEX VALUE:将KEY所对应列表中下表为INDEX的值替换为VALUE
  • lrange KEY START END:通过KEY从指定的范围(START-END)取值,比如取所有值:lrange students 0 -1
  • lpop KEY: 从左边弹出一个值
  • lpush KEY VALUE1 VALUE2: 从左向右向对应的键中插入多个数值
  • rpop KEY: 从右边弹出一个值
  • rpoplpush KEY1 KEY2:从右边弹出一个值,同时插入到列表左边
  • rpush KEY VALUE1 VALUE2: 从右向左向对应的键中插入多个数值

集合相关命令

  • sadd:将一个或多个值添加到集合key中,已经存在的值将被忽略
  • scard KEY: 返回集合中元素个数
  • sdiff KEY1 KEY2: 返回两结合的差集(存在于KEY1中,但不存在于KEY2中)
  • sinter: 返回两集合的交集
  • sismember KEY VALUE: 判断和KEY对应的集合中是否存在VALUE,返回值为1/0
  • smembers:获取集合的所有值
  • spop KEY: 从集合中随机弹出一个值
  • srandmember KEY N: 随机从集合中取出N个值,这个操作并不会从集合中删除这些值。
  • srem KEY VALUE1 VALUE2: 删除集合中的一些元素
  • sunion KEY1 KEY2: 返回两集合的并集

哈希相关命令

  • hexists KEY FIELD: 检查哈希中对应的KEY下某个FIELD是否存在
  • hget KEY FILED: 获取哈希中的值
  • hincrby KEY FIELD NUMBER: 将哈希表中的某字段值增加指定的NUMBER
  • hkeys KEY:查看哈希中的所有FIELD
  • hmset KEY FIELD1 VALUE1 FIELD2 VALUE2。向哈希中存储多个字段值
  • hset KEY FIELD VALUE, 将值存储到哈希中。比如:hset user:9901 id 20229901, hset user:9901 name Paul
  • hset KEY FIELD VALUE, 将值存储到哈希中,只有当FIELD不存在时才会起作用。
  • hvals KEY:查看哈希中的所有值

有序集合对应命令

  • zadd KEY SCORE1 VALUE1 SCORE2 VALUE2: 在一个有序集合中添加数据
  • zcount KEY SCORE1 SCORE2: 统计SCORE1和SCORE2之间值的数量
  • zincrby KEY NUMBER VALUE: 将对应值的分数增加NUMBER
  • zrange KEY START END [withscores]: 从有序集中取出指定范围的值,例如:zrange laptops 0 01代表取出laptops对应的所有值。如果添加了withscores,则会同时返回值对应的评分。
  • zrangebyscore KEY START END [withscores]: 取出值在START和END之间的所有值
  • zrank KEY VALUE:检查某个值对应的排名
  • zrem KEY VALUE: 删除集合下指定值对应的元素

Bitmaps相关的命令

  • bitcount KEY:统计KEY对应bitmaps中值为1的数量
  • getbit KEY OFFSET: 取出偏移量为OFFSET位置处的值
  • setbit KEY OFFSET VALUE: 在KEY对应的bitmaps中偏移量为OFFSET的位置设置值为VALUE。比如:setbit demo:20220917 23 1

文章作者: 逻思
版权声明: 本博客所有文章除特別声明外,均采用 CC BY-NC-ND 4.0 许可协议。转载请注明来源 逻思 !
  目录