Redis各个常用命令总结

基础的命令在上一篇文章

字符串

命令 描述
INCR INCR key-name——将键存储的值加上1
DECR DECR key-name——将键存储的值减去1
INCRBY INCRBY key-name amount——将键存储的值加上整数amount
DECRBY DECRBY key-name amount——将键存储的值减去整数amount
APPEND APPEND key-name value——将值value追加到给定键key-name当前存储的值的末尾
GETRANGE GETRANGE key-name start end——获取一个由偏移量start至偏移量end范围内所有字符组成的子串,包括start和end在内
SETRANGE SETRANGE key-name offset value——将从start偏移量开始的子串设置为给定值

示例:

列表

命令 描述
RPUSH RPUSH key-name value [value …]——将一个或多个值推入列表的右端
LPUSH LPUSH key-name value [value …]——将一个或多个值推入列表的左端
RPOP RPOP key-name——移除并返回列表最右端的元素
LPOP LPOP key-name——移除并返回列表最左端的元素
LINDEX LINDEX key-name offset——返回列表中偏移量为offset的元素
LRANGE LRANGE key-name start end——返回列表从start偏移量到end偏移量范围内的所有元素,其中偏移量为start和偏移量为end的元素也会包含在被返回的元素之内
LTRIM LTRIM key-name start end——对列表进行修剪,只保留从start偏移量到end偏移量范围内的元素,其中偏移量为start和偏移量为end的元素也会被保留
BLPOP BLPOP key-name [key-name …] timeout——从第一个非空列表中弹出位于最左端的元素,或者在timeout秒之内阻塞并等待可弹出的元素出现
BRPOP BRPOP key-name [key-name …] timeout——从第一个非空列表中弹出位于最右端的元素,或者在timeout秒之内阻塞并等待可弹出的元素出现
RPOPLPUSH RPOPLPUSH source-key dest-key——从source-key列表中弹出位于最右端的元素,然后将这个元素推入dest-key列表的最左端,并向用户返回这个元素
BRPOPLPUSH BRPOPLPUSH source-key dest-key timeout——从source-key列表中弹出位于最右端的元素,然后将这个元素推入dest-key列表的最左端,并向用户返回这个元素;如果source-key为空,那么在timeout秒之内阻塞并等待可弹出的元素出现

示例:

集合

命令 描述
SCARD SCARD key-name——返回集合包含的元素的数量
SRANDMEMBER SRANDMEMBER key-name [count]——从集合里面随机地返回一个或多个元素。当count为正数时,命令返回的随机元素不会重复;当count为负数时,命令返回的随机元素可能会出现重复
SPOP SPOP key-name——随机地移除集合中的一个元素,并返回被移除的元素
SMOVE SMOVE source-key dest-key item——如果集合source-key包含元素item,那么从集合source-key里面移除元素item,并将元素item添加到集合dest-key中;如果item被成功移除,那么命令返回1,否则返回0
SDIFF SDIFF key-name [key-name …]——返回那些存在于第一个集合、但不存在于其他集合中的元素(数学上的差集运算)
SDIFFSTORE SDIFFSTORE dest-key key-name [key-name …]——将那些存在于第一个集合但并不存在于其他集合中的元素(数学上的差集运算)存储到dest-key键里面
SINTER SINTER key-name [key-name …]——返回那些同时存在于所有集合中的元素(数学上的交集运算)
SINTERSTORE SINTERSTORE dest-key key-name [key-name …]——将那些同时存在于所有集合的元素(数学上的交集运算)存储到dest-key键里面
SUNION SUNION key-name [key-name …]——返回那些至少存在于一个集合中的元素(数学上的并集计算)
SUNIONSTORE SUNIONSTORE dest-key key-name [key-name …]——将那些至少存在于一个集合中的元素(数学上的并集计算)存储到dest-key键里面

示例:

散列

命令 描述
HMGET HMGET key-name key [key …]——从散列里面获取一个或多个键的值
HMSET HMSET key-name key value [key value …]——为散列里面的一个或多个键设置值
HLEN HLEN key-name——返回散列包含的键值对数量
HDEL HDEL key-name key [key …]——删除散列里面的一个或多个键值对,返回成功找到并删除的键值对数量
HEXISTS HEXISTS key-name key——检查给定键是否存在于散列中
HKEYS HKEYS key-name——获取散列包含的所有键
HVALS HVALS key-name——获取散列包含的所有值
HINCRBY HINCRBY key-name key increment——将键key存储的值加上整数increment

示例:

有序集合

命令 描述
ZCARD ZCARD key-name——返回有序集合包含的成员数量
ZINCRBY ZINCRBY key-name increment member——将member成员的分值加上increment
ZCOUNT ZCOUNT key-name min max——返回分值介于min和max之间的成员数量
ZRANK ZRANK key-name member——返回成员member在有序集合中的排名
ZSCORE ZSCORE key-name member——返回成员member的分值
ZREVRANK ZREVRANK key-name member——返回有序集合里成员member的排名,成员按照分值从大到小排列
ZREVRANGE ZREVRANGE key-name start stop [WITHSCORES]——返回有序集合给定排名范围内的成员,成员按照分值从大到小排列
ZRANGEBYSCORE ZRANGEBYSCORE key min max [WITHSCORES] [LIMIT offset count]——返回有序集合中,分值介于min和max之间的所有成员

示例:

其他命令

命令 描述
SORT 根据给定的选项,对输入列表、集合或者有序集合进行排序,然后返回或者存储排序的结果
PERSIST PERSIST key-name——移除键的过期时间
TTL TTL key-name——查看给定键距离过期还有多少秒
EXPIRE EXPIRE key-name seconds——让给定键在指定的秒数之后过期
PTTL PTTL key-name——查看给定键距离过期时间还有多少毫秒
PEXPIRE PEXPIRE key-name milliseconds——让给定键在指定的毫秒数之后过期

redis所有的命令都可以在 http://redis.io/commands 查询,掌握常用的命令足够实现一些功能。