四.Redis的常用命令

四.常用命令

1.key

  • keys 指定的key

    • 返回指定的key是否存在
    • 如果存在,返回存在的key有哪些
    • 如果不存在,返回(empty list or set)
    • 支持通配符
    • keys *:查询所有的key
  • exists key1 key2 ...

    • 判断指定的key是否存在
    • 如果存在返回存在的key有多少个
    • 如果不存在返回0
  • expire key 时间(秒)

    • 设置指定的key的生存时间
    • 即指定key在多少秒之后失效
    • 如果时间为0,相当于删除操作
  • ttl key

    • 查询指定的key剩余的生存时间是多少
    • 返回值为当前剩余的时间
    • -2表示已经过期,实际上就是没有这个key
    • -1表示永不过期,实际上就是没有设置生存时间
  • type key

    • 判断当前key的类型
    • 返回值对应的是五大数据类型
  • del key1 key2 key3

    • 批量删除指定的key
  • flushdb

    • 清空当前库

2.string

  • set key value

    • 设置一个值
    • 若key不存在,表示新增一条数据
    • 若key已经存在,则表示覆盖对应的key的数据
  • get key

    • 获取指定的key的数据
    • 如果数据是中文,默认方式查看不了
    • 在登录客户端的时候可以使用./redis-cli --raw的方式进行客户端的方式
    • 通过该方式访问时可以查看中文数据
  • append key value

    • 设置一个值
    • 若key不存在,则表示新增一条数据
    • 若key存在,则修改对应的数据,表示将新的值追加到原有的数据的末尾,生成新的数据
  • strlen key

    • 获取指定的key的数据的长度
  • incr/decr/incrby/decrby

    • incr key
      • 将指定可以所对应的数据的值加1,key的值只能是数字
      • 若key不存在,则新增一条数据,其值自动设置为1
    • decr num
      • 将指定可以所对应的数据的值减1,key的值只能是数字
      • 若key不存在,则新增一条数据,其值自动设置为-1
    • incrby key num
      • 将指定可以所对应的数据的值加num,key的值只能是数字
      • 若key不存在,则新增一条数据,其值自动设置为num
    • decrby key num
      • 将指定可以所对应的数据的值减num,key的值只能是数字
      • 若key不存在,则新增一条数据,其值自动设置为-num
  • getrange/setrange

    • getrange key begin end

      • 获取指定的begin位置到end位置的值
      • 类似于Java中的subString方法,截取字符串
      • 索引位置从0开始,包含开始与结束位置的字符
      • 0 -1表示所有字符
    • setrange key index value

      • 将指定的key的数据从索引位置index开始的值替换成指定的数据value
      • 当原有字符串剩余长度小于value的长度,则自动延长原字符串长度
      • 当原有字符串剩余长度大于value的长度,则只替换对应长度部分的数据
      set name admin
      setrange name 3 admin#此时name的值为admadmin
      setrange name 3 abc#此时name的值为admabcin
      
  • setex/setnx

    • setex key secondsvalue
      • 新增一条数据,key=value
      • 且设置该数据的生存时间为seconds,单位:秒
      • 若key存在,则覆盖
    • setnx key value
      • 如果key不存在,新增一条数据,key=value
      • 如果key存在,不做任何改变
  • mset/mget/msetnx

    • mset key1 value1 key2 value2 ...
      • 批量添加
      • 相当于多次执行set操作
      • 如果key存在,覆盖
      • 如果key不存在,新增
    • mget key1 key2 key3
      • 批量获取指定key的数据
    • msetnx key1 value1 key2 value2...
      • 批量进行setnx操作
      • 其中只要有任意一个key存在,则不做任何操作
  • getset key value

    • 先执行get操作,后执行set操作
    • 返回的是原来key的数据
    • 然后将指定的key的数据替换成新的数据value
    • 相当于先执行了get key
    • 后执行set key value

3.hash

  • hset/hget

    • hset key field value
      • 若key不存在,则新增一条数据,其值是一个键值对,field-value的形式
      • 若key存在,则覆盖
    • hget key field
      • 获取指定的key的hash的key为field的数据
  • hmset/hmget/hgetall

    • hmset key f1 v1 f2 v2...
      • 批量添加hash中的数据
    • hmget key f1 f2...
      • 批量获取hash中指定filed的数据
    • hgetall key
      • 获取对应的hash中所有的数据
  • hdel key f2 f2..

    • 批量删除指定的hash中指定的filed的数据
  • hlen key

    • 获取指定的hash中元素的数量
  • hexists key filed

    • 判断指定的hash中对应的field是否存在
  • hkeys/hvals

    • hkeys key
      • 返回指定的hash中所有的键值对中的field
    • hvals key
      • 返回指定的hash中所有的键值对中的value
  • hincrby key field num

    • 将指定的hash中field所对应的值加上num
    • 此时的num必须是整数
  • hincrbyfloat key field num

    • 将指定的hash中field所对应的值加上num
    • num可以是浮点数
  • hsetnx key field value

    • 若key不存在,则新增
    • 若key存在,则不做任何操作

4.list

  • lpush key v1 v2...

    • 将多个数据插入到指定的列表的头部
    • 如果指定的key不存在,新增
    • 如果指定的key存在,追加
  • rpush key v1 v2...

    • 将多个数据插入到指定的列表的尾部
  • lrange key begin end

    • 获取列表中从指定位置begin到end位置的所有元素
    • 0 -1表示查询所有的
  • lindex key index

    • 获取指定位置的元素
    • 从头往尾数
  • llen key

    • 获取指定的列表的元素的数量
  • lpop key

    • 移除头部的第一个元素
    • 返回值为当前移除的元素
  • rpop key

    • 移除尾部的第一个元素
    • 返回值为当前移除的元素
  • lrem key count value

    • 从头部开始删除值为value的元素
    • 总共删除count个
    • 如果count的值为0,则表示删除所有值为value的元素
    • 如果count的值大于值为value的元素的个数,则删除所有值为value的元素
  • ltrim key begin end

    • 截取从begin位置到end位置的子元素
    • 且将截取后的子元素作为当前列表的新的值
    • 实际上做了覆盖操作
  • rpoplpush 源列表 目标列表

    • 移除源列表中的尾部的第一个元素
    • 并将该元素插入到目标列表中的头部的位置
  • lset key index value

    • 修改列表中指定位置的元素的数据
  • linsert key before/after v1 v2

    • 在指定的列表的元素v1之前/之后插入一个新的元素v2
    • 如果指定的元素v1存在多个相同的,则操作的始终是第一个

5.set

  • sadd/smembers/sismeber

    • sadd key v1 v2...
      • 向一个set中添加多个值,无序的
      • 如果key已经存在,则报错
    • smembers key
      • 返回指定的集合中的所有值
    • sismember key value
      • 判断集合中是否存在对应的key中的元素
      • 如果存在返回1,否则返回0
  • scard key

    • 获取集合中元素的数量
  • srem key value

    • 删除集合中指定的元素
  • srandmember key

    • 随机返回集合中的一个元素
  • srandmemberkey num

    • 随机返回集合中num个元素
  • spop key

    • 随机删除集合中的某一个元素
    • 并返回删除的元素是谁
  • spop key count

    • 随机删除集合中的count个元素
    • 并返回删除的元素有哪些
  • smove key1 key2 value

    • 将key1集合中的value移动到key2的集合中
  • 数学集合

    • 差集
      • sdiff key1 key2...
      • 在前一个集合中存在,而后面的集合中不存在的元素
    • 交集
      • sinter key1 key2...
      • 多个集合中都存在的元素
    • 并集
      • sunion key1 key2...
      • 所有的集合中包含的所有的元素

6.zset

  • zadd key score1 value1 score2 value2

    • 添加多个数据,score必须是数字
  • zrange key begin end

    • 返回begin位置到end位置的元素
    • 0 -1表示所有
  • zrangebyscore key minscore maxscore

    • 返回score值在minscore与maxscore之间的所有元素
  • zrem key value1 value2...

    • 批量删除
  • zcard key

    • 获取指定的有序集合中元素的数量
  • zcount key min max

    • 获取分数在min与max之间的元素的个数
  • zrank key value

    • 获取有序集合中指定value的索引号
  • zscore key value

    • 获取有序集合中指定value的score值
  • zrevrank key value

    • 获取有序集合中指定value的索引号
    • 按照分数降序排序
  • zrevrange key start stop

    • 获取有序集合中索引在start到stop之间的所有元素
    • 按照分数降序排序
  • zrevrangebyscore key max min

    • 获取有序集合中分数在max到min之间所有的元素
    • 按照分数降序排序
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值