Redis命令快速检索

总结了Redis的命令,希望能快速检索到想要的命令。

键(Keys)

  • DEL key [key ...] 删除一个或多个key。返回:删除的个数
  • DUMP key 返回指定的key序列化后的值,用RESTORE可以反序列化key,可用于数据的转存
  • EXISTS key 查询一个key是否存在。返回:1-存在;0-不存在
  • EXPIRE key seconds 设置一个key的过期的秒数。返回:1-设置成功;0-失败
  • EXPIREAT key timestamp 设置一个UNIX时间戳的过期时间。返回:1-设置成功;0-失败
  • KEYS pattern 查找所有匹配给定的模式的键。返回:所有匹配的key
  • MIGRATE host port key destination-db timeout 将键值从一个redis实例转移到另一个实例,原所在redis实例中会删除该键值。其内部实现其实是先执行DUMP,然后RESTORE到另一个实例,最后DEL原键值。
  • MOVE key db 移动该key到指定的数据库中(使用SELECT选择的数据库)返回:1-移动成功;0-失败
  • OBJECT subcommand [arguments [arguments ...]] 检查Redis的内部对象,通过子命令(refcount,encoding,idletime)获取内部存储的对象的信息。
  • PERSIST key 移除key的过期时间(之前使用EXPIRE设置)。返回:1-成功;0-失败
  • PEXPIRE key milliseconds 设置key的过期时间(参数单位是毫秒)。返回:1-成功;0-失败
  • PEXPIREAT key milliseconds-timestamp 同EXPIREAT一样,只不过UNIX时间戳由秒级别变为毫秒。返回:1-存在;0-不存在
  • PTTL key 查询key的有效毫秒数,同TTL命令一样。
  • RANDOMKEY 获取一个随机的key。如果没有则返回nil
  • RENAME key newkey 重命名该key。
  • RENAMENX key newkey 仅当newkey不存在时,重命名该key。返回:1-重命名成功;0-newkey存在,重命名失败
  • RESTORE key ttl serialized-value 使用之前DUMP命令序列化后的值,重建立一个键值。
  • SORT key [BY pattern] [LIMIT offset count] [GET pattern [GET pattern ...]] [ASC|DESC] [ALPHA] [STORE destination] 根据参数条件,对匹配的list、set进行排序,返回或保存排序后获得的list、set
  • TTL key 获取该key的有效时间(单位:秒)。
  • TYPE key 获取该key的存储类型。类型包括:string, list, set, zset, hash

字符串(String)

  • APPEND key value 追加一个值到key上。返回追加后的字符串长度
  • BITCOUNT key [start] [end] 统计字符串指定起始位置中,被设置为 1 的比特位的数量
  • BITOP operation destkey key [key ...] 对一个或多个保存二进制位的字符串 key 进行位元操作,并将结果保存到 destkey 上。operation 可以是 AND 、 OR 、 NOT 、 XOR 这四种操作中的任意一种
  • DECR key 将 key 中储存的数字值减一。如果 key 不存在,那么 key 的值会先被初始化为 0 ,然后再执行 DECR 操作。返回执行之后的值
  • DECRBY key decrement 将 key 所储存的值减去减量decrement。其实同DECR一样,只不过又减1变为减去减量decrement
  • GET key 返回 key 所关联的字符串值。
  • GETBIT key offset 对 key 所储存的字符串值,获取指定偏移量上的位(bit)。
  • GETRANGE key start end 返回 key 中字符串值的子字符串
  • GETSET key value 将给定 key 的值设为 value ,并返回 key 的旧值。当 key 没有旧值时,也就是key不存在时,返回nil。
  • INCR key 将 key 中储存的数字值增一。如果 key 不存在,那么 key 的值会先被初始化为 0 ,然后再执行 INCR 操作。返回执行后的值
  • INCRBY key increment 将 key 所储存的值加上增量increment。与DECRBY相似
  • INCRBYFLOAT key increment 为 key 中所储存的值加上浮点数增量increment。同INCRBY一样,只不过整数型可变为浮点型
  • MGET key [key ...] 返回所有(一个或多个)给定 key 的值。如果给定的 key 里面,有某个 key 不存在,那么这个 key 返回特殊值 nil 。因此,该命令永不失败。
  • MSET key value [key value ...] 同时设置一个或多个 key-value 对。
  • MSETNX key value [key value ...] 同时设置一个或多个 key-value 对,当且仅当所有给定 key 都不存在。它可以用作设置多个不同 key 表示不同字段(field)的唯一性逻辑对象(unique logic object),所有字段要么全被设置,要么全不被设置。
  • PSETEX key milliseconds value 这个命令和 SETEX 命令相似,但它以毫秒为单位设置 key 的生存时间
  • SET key value [EX seconds] [PX milliseconds] [NX|XX] 将字符串值 value 关联到key。如果 key 已经持有其他值,SET就覆写旧值,无视类型。
  • SETBIT key offset value 对 key 所储存的字符串值,设置或清除指定偏移量上的位(bit)。
  • SETEX key seconds value 将值 value 关联到 key ,并将 key 的生存时间设为 seconds (以秒为单位)。
  • SETRANGE key offset value 用 value 参数覆写(overwrite)给定 key 所储存的字符串值,从偏移量 offset 开始。不存在的 key 当作空白字符串处理。
  • STRLEN key 返回 key 所储存的字符串值的长度。当key不存在时,返回0。

哈希(Hashes)

  • HDEL key field [field ...] 删除哈希表 key 中的一个或多个指定域,不存在的域将被忽略。
  • HEXISTS key field 查看哈希表 key 中,给定域 field 是否存在。返回:1-存在;0-不存在
  • HGET key field 返回哈希表 key 中给定域 field 的值。不存在则返回nil
  • HGETALL key 返回哈希表 key 中,所有的域和值。以列表形式返回哈希表的域和域的值,紧跟每个域名(field name)之后是域的值(value),所以返回值的长度是哈希表大小的两倍。
  • HINCRBY key field increment 为哈希表 key 中的域 field 的值加上增量 increment 。增量也可以为负数,相当于对给定域进行减法操作。如果 key 不存在,一个新的哈希表被创建并执行 HINCRBY 命令。如果域 field 不存在,那么在执行命令前,域的值被初始化为 0 。
  • HINCRBYFLOAT key field increment 为哈希表 key 中的域 field 加上浮点数增量increment。和HINCRBY相似
  • HKEYS key 返回哈希表 key 中的所有域。当 key 不存在时,返回一个空表。
  • HLEN key 返回哈希表 key 中域的数量。当 key 不存在时,返回 0
  • HMGET key field [field ...] 返回哈希表 key 中,一个或多个给定域的值。如果给定的域不存在于哈希表,那么返回一个 nil 值。
  • HMSET key field value [field value ...] 同时将多个 field-value (域-值)对设置到哈希表 key 中。此命令会覆盖哈希表中已存在的域。
  • HSET key field value 将哈希表 key 中的域 field 的值设为 value 。如果key不存在则创建,存在则覆盖。返回:1-新建;0-覆盖
  • HSETNX key field value 将哈希表 key 中的域 field 的值设置为 value ,当且仅当域 field 不存在。若域 field 已经存在,该操作无效。如果 key 不存在,一个新哈希表被创建并执行 HSETNX 命令。返回:1-成功;0-失败。
  • HVALS key 返回哈希表 key 中所有域的值。当 key 不存在时,返回一个空表。

列表(Lists)

  • BLPOP key [key ...] timeout 它是 LPOP 命令的阻塞版本,当给定列表内没有任何元素可供弹出的时候,连接将被 BLPOP 命令阻塞,直到等待超时或发现可弹出元素为止。当给定多个 key 参数时,按参数 key

    的先后顺序依次检查各个列表,弹出第一个非空列表的头元素。返回:如果列表为空,返回一个 nil 。否则,返回一个含有两个元素的列表,第一个元素是被弹出元素所属的 key ,第二个元素是被弹出元素的值。

  • BRPOP key [key ...] timeout 它是 RPOP 命令的阻塞版本,和BLPOP相似。
  • BRPOPLPUSH source destination timeout BRPOPLPUSH 是 RPOPLPUSH 的阻塞版本,当列表 source 为空时, BRPOPLPUSH 命令将阻塞连接,直到等待超时,或有另一个客户端对 source 执行 LPUSH 或 RPUSH 命令为止。
  • LINDEX key index 返回列表 key 中,下标为 index 的元素。如果 index 参数的值不在列表的区间范围内(out of range),返回 nil 。
  • LINSERT key BEFORE|AFTER pivot value 将值 value 插入到列表 key 当中,位于值 pivot 之前或之后。当 pivot 不存在于列表 key 时,不执行任何操作。当 key 不存在时,key被视为空列表,不执行任何操作。如果 key 不是列表类型,返回一个错误。返回:列表长度-成功;-1-没有pivot;0-没有key或空列表
  • LLEN key 返回列表 key 的长度。如果 key 不存在,则 key 被解释为一个空列表,返回0。如果 key 不是列表类型,返回一个错误。
  • LPOP key 移除并返回列表 key 的头元素。当 key 不存在时,返回 nil
  • LPUSH key value [value ...] 将一个或多个值 value 插入到列表 key 的表头
  • LPUSHX key value 将值 value 插入到列表 key 的表头,当且仅当 key 存在并且是一个列表。和 LPUSH 命令相反,当 key 不存在时, LPUSHX 命令什么也不做。返回执行后表的长度
  • LRANGE key start stop 返回列表 key 中指定区间内的元素,区间以偏移量 start 和 stop 指定。
  • LREM key count value 根据参数 count 的值,移除列表中与参数 value 相等的元素。count > 0 : 从表头开始向表尾搜索,移除与 value 相等的元素,数量为 count;count < 0 : 从表尾开始向表头搜索,移除与 value 相等的元素,数量为 count 的绝对值;count = 0 : 移除表中所有与 value 相等的值。
  • LSET key index value 将列表 key 下标为 index 的元素的值设置为 value 。当 index 参数超出范围,或对一个空列表( key 不存在)进行 LSET 时,返回一个错误。
  • LTRIM key start stop 对一个列表进行修剪(trim),就是说,让列表只保留指定区间内的元素,不在指定区间之内的元素都将被删除。
  • RPOP key 移除并返回列表 key 的尾元素。当 key 不存在时,返回 nil 。
  • RPOPLPUSH source destination 执行以下两个动作:1、将列表 source 中的最后一个元素(尾元素)弹出,并返回给客户端;2、将 source 弹出的元素插入到列表 destination ,作为 destination 列表的的头元素。如果 source 不存在,值 nil 被返回,并且不执行其他动作。如果 source 和 destination 相同,则列表中的表尾元素被移动到表头,并返回该元素,可以把这种特殊情况视作列表的旋转(rotation)操作。
  • RPUSH key value [value ...] 将一个或多个值 value 插入到列表 key 的表尾(最右边)。和LPUSH作用一样。
  • RPUSHX key value 将值 value 插入到列表 key 的表尾,当且仅当 key 存在并且是一个列表。和LPUSHX作用一样。

集合(Sets)

  • SADD key member [member ...] 将一个或多个 member 元素加入到集合 key 当中,已经存在于集合的 member 元素将被忽略。
  • SCARD key 返回集合 key 的基数(集合中元素的数量)。当 key 不存在时,返回 0
  • SDIFF key [key ...] 返回一个集合的全部成员,该集合是所有给定集合之间的差集。不存在的 key 被视为空集。
  • SDIFFSTORE destination key [key ...] 这个命令的作用和 SDIFF 类似,但它将结果保存到 destination 集合,而不是简单地返回结果集。如果 destination 集合已经存在,则将其覆盖。destination 可以是 key 本身。
  • SINTER key [key ...] 返回一个集合的全部成员,该集合是所有给定集合的交集。不存在的 key 被视为空集。当给定集合当中有一个空集时,结果也为空集
  • SINTERSTORE destination key [key ...] 这个命令类似于 SINTER 命令,但它将结果保存到 destination 集合,而不是简单地返回结果集。
  • SISMEMBER key member 判断 member 元素是否集合 key 的成员。
  • SMEMBERS key 返回集合 key 中的所有成员。不存在的 key 被视为空集合。
  • SMOVE source destination member 将 member 元素从 source 集合移动到 destination 集合。如果 source 集合不存在或不包含指定的 member 元素,则 SMOVE 命令不执行任何操作,仅返回 0 。否则, member 元素从source 集合中被移除,并添加到 destination 集合中去。
  • SPOP key 移除并返回集合中的一个随机元素。如果只想获取一个随机元素,但不想该元素从集合中被移除的话,可以使用 SRANDMEMBER 命令。
  • SRANDMEMBER key [count] 如果命令执行时,只提供了 key 参数,那么返回集合中的一个随机元素。如果 count 为正数,且小于集合基数,那么命令返回一个包含 count 个元素的数组,数组中的元素各不相同;如果count 大于等于集合基数,那么返回整个集合。如果 count 为负数,那么命令返回一个数组,数组中的元素可能会重复出现多次,而数组的长度为 count 的绝对值。
  • SREM key member [member ...] 移除集合 key 中的一个或多个 member 元素,不存在的 member 元素会被忽略。
  • SUNION key [key ...] 返回一个集合的全部成员,该集合是所有给定集合的并集。不存在的 key 被视为空集。
  • SUNIONSTORE destination key [key ...] 这个命令类似于 SUNION 命令,但它将结果保存到 destination 集合,而不是简单地返回结果集。如果 destination 已经存在,则将其覆盖。destination 可以是 key 本身。

有序集合(Sorted Sets)

  • ZADD key score member [score member ...] 将一个或多个 member 元素及其 score 值加入到有序集 key 当中。如果某个 member 已经是有序集的成员,那么更新这个 member 的 score 值,并通过重新插入这个 member 元素,来保证该 member 在正确的位置上。
  • ZCARD key 返回有序集 key 的基数。
  • ZCOUNT key min max 返回有序集 key 中, score 值在 min 和 max 之间(默认包括 score 值等于 min 或 max )的成员的数量。
  • ZINCRBY key increment member 为有序集 key 的成员 member 的 score 值加上增量 increment 。可以通过传递一个负数值 increment ,让 score 减去相应的值。当 key 不存在,或 member 不是 key 的成员时, ZINCRBY key increment member 等同于 ZADD key increment member 。
  • ZINTERSTORE destination numkeys key [key ...] [WEIGHTS weight [weight ...]] [AGGREGATE SUM|MIN|MAX] 计算给定的一个或多个有序集的交集,其中给定 key 的数量必须以 numkeys 参数指定,并将该交集(结果集)储存到 destination 。
  • ZRANGE key start stop [WITHSCORES] 返回有序集 key 中,指定区间内的成员。其中成员的位置按 score 值递增(从小到大)来排序。可以通过使用 WITHSCORES 选项,来让成员和它的 score 值一并返回。
  • ZRANGEBYSCORE key min max [WITHSCORES] [LIMIT offset count] 返回有序集 key 中,所有 score 值介于 min 和 max 之间(包括等于 min 或 max )的成员。有序集成员按 score 值递增(从小到大)次序排列。
  • ZRANK key member 返回有序集 key 中成员 member 的排名。其中有序集成员按 score 值递增(从小到大)顺序排列。score 值最小的成员排名为 0 。
  • ZREM key member [member ...] 移除有序集 key 中的一个或多个成员,不存在的成员将被忽略。
  • ZREMRANGEBYRANK key start stop 移除有序集 key 中,指定排名(rank)区间内的所有成员。区间分别以下标参数 start 和 stop 指出,包含 start 和 stop 在内。
  • ZREMRANGEBYSCORE key min max 移除有序集 key 中,所有 score 值介于 min 和 max 之间(包括等于 min 或 max )的成员。
  • ZREVRANGE key start stop [WITHSCORES] 返回有序集 key 中,指定区间内的成员。其中成员的位置按 score 值递减(从大到小)来排列。除了递减的排序外,其他和ZRANGE命令一样。
  • ZREVRANGEBYSCORE key max min [WITHSCORES] [LIMIT offset count] 除了成员按 score 值递减的次序排列这一点外, ZREVRANGEBYSCORE 命令的其他方面和 ZRANGEBYSCORE 命令一样。
  • ZREVRANK key member 返回有序集 key 中成员 member 的排名。其中有序集成员按 score 值递减(从大到小)排序。和命令ZRANK相似
  • ZSCORE key member 返回有序集 key 中,成员 member 的 score 值。
  • ZUNIONSTORE destination numkeys key [key ...] [WEIGHTS weight [weight ...]] [AGGREGATE SUM|MIN|MAX] 计算给定的一个或多个有序集的并集,其中给定 key 的数量必须以 numkeys 参数指定,并将该并集(结果集)储存到 destination 。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值