总结了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 。