Redis常用命令

1.基本命令

  • 查询当前库的所有键:keys *

  • 查看某个键是否存在:exists <key>

  • 查看键的类型: type key

  • 删除某个键:del key

  • 为键值设置过期时间:expire <key> <seconds>

  • 查看还有多少秒过期(-1永不过期,-2已过期):ttl <key>

  • 查看当前数据库key的数量:dbsize

  • 清空当前库:flushdb

  • 清空所有库:flushall


2.String命令

  • 查询键对应的键值:get <key>

  • 添加键值对:set <key> <value>

  • 获取值的长度:strlen <key>

  • 只有键不存在时添加键值对:setnx <key> <value>

  • 将key对应的值 +/- 1(只能对数字使用)如果为空则新增值为1(-1):incr / decr <key>

  • 将key中存储的数字递增/减 (只能对数字使用),自定义步长:incrby / decrby <key> <步长>

  • 同时设置一个或多个键值对:mset <key1> <value1> <key2> <value2> ...

  • 同时获取一个或多个value:mget <key1> <key2> <key3> ...

  • 同时设置一个或多个键值对,当且仅当所有给定的key都不存在:msetnx <key1> <value1> <key2> <value2> ...

  • 获取值的范围,类似于java的substring,但是包前也包后:getrange <key> <起始位置> <结束位置>

  • 用value覆写key所储存的字符串值,从起始位置开始:setrange <key> <起始位置> <value>

  • 设置键值的同时设置过期时间:setex <key> <过期时间> <value>

  • 设置新值的同时获取旧值:getset <key> <value>


3.List命令

  • 从左边/右边插入一个或多个值:lpush/rpush <key> <value1> <value2> ...
  • 从左边/右边弹出一个值,如果时最后一个值,键销毁:lpop/rpop <key>
  • 从key1列表右边弹出一个值插到key2列表左边:rpoplpush <key1> <key2>
  • 按照索引下标获得多个元素(从左到右),尾部是-1:lrange <key> <start> <end>
  • 按照索引下标获得元素(从左到右):lindex <key> <index>
  • 获得列表的长度:llen <key>
  • 在value的前/后面插入newvalue的值(只对从左到右的第一次出现的value有效):linsert <key> before/after <value> <newvalue>
  • n>0时,从左边开始删除n个value;n<0时,从右边开始删除n个value;n=0时,删除所有value:lrem <key> <n> <value>

4.set命令

  • 向set中添加元素,已存在的会忽略:sadd <key> <value1> <value2> <value3> ...
  • 获得set里的所有值:smembers <key>
  • 判断set里是否存在某个值,存在返回1,不存在返回0:sismember <key> <value>
  • 返回集合的元素个数:scard <key>
  • 删除集合中的某些元素:srem <key> <value1> <value2> ...
  • 随机从集合中弹出多个值,弹出后值在集合中会消失:spop <key> <count>
  • 随机从集合中取出多个值,取出后值在集合中不会消失:srandmember <key> <count>
  • 返回两个集合中的交集元素:sinter <key1> <key2>
  • 返回两个集合中的并集元素:sunion <key1> <key2>
  • 返回两个集合中的差集元素:sdiff <key1> <key2>

5.hash命令

  • 向集合中的field赋值value:hset <key> <field> <value>
  • 从集合中取出指定field的value:hget <key> <field>
  • 批量向集合中的field赋值value:hmset <key> <field1> <value1> <field2> <value2> ...
  • 查看集合中是否存在指定field的值:hexists <key> <field>
  • 获取集合中的所有field:hkeys <key>
  • 获取集合中的所有value:hvals <key>
  • 获取集合中的所有filed和value:hgetall <key>
  • 为集合中的指定field的value设置增量(可以为负):hincrby <key> <filed> <count>
  • 将集合中的filed的值设置为value,当且仅当field不存在时生效:hsetnx <key> <field> <value>

6.zset命令

  • 将一个或多个value添加到集合中(相同元素不同分数,会把分数更新,相同分数不同元素,能够正常排序):zadd <key> <score1> <value1> <score2> <value2> <score3> <value3>...
  • 返回集合中下标在start和end之间value,如果带WITHSOCORES,可以带分数一起返回,顺序为从小到大:zrange <key> <start> <end> [WITHSCORES]
  • 返回集合中下标在start和end之间value,如果带WITHSOCORES,可以带分数一起返回,顺序为从大到小:zrevrange <key> <start> <end> [WITHSCORES]
  • 返回集合中所有score值接域min和max之间(前包后包)的成员。有序集成员按照score值从小到大次序排列:zrangebyscore key min max [withscores]
  • 返回集合中所有score值接域min和max之间(前包后包)的成员。有序集成员按照score值从大到小次序排列:zrevrangebyscore key min max [withscores]
  • 为集合中的元素增加分数:zincrby <key> <increment> <value>
  • 删除集合中的指定元素:zrem <key> <value>
  • 统计集合中分数区间内的元素个数:zcount <key> <min> <max>
  • 返回该元素在集合中的排名(可以判断元素是否存在集合中):zrank <key> <value>
posted @ 2020-09-06 01:36  人之为言  阅读(179)  评论(0编辑  收藏  举报