Redis可以存储键与5种不同数据结构类型之间的映射,这5种数据结构类型分别为:
String(字符串)、List(列表)、Set(集合)、Hash(散列)、Zset(有序集合)。
下边将介绍基础命令:
String(字符串)
命令 | 行为 |
Get | 获取存储在给定键中的值 |
Set | 设置存储在给定键中的值 |
Del | 删除存储在给定键中的值(这个命令可以用于所有类型) |
命令 | 行为 |
Rpush | 将给定值推入列表的右端 |
Lrange | 获取列表在给定范围上的所有值 |
Lindex | 获取列表在给定位置上的单个元素 |
Lpop | 从列表的左端弹出一个值,并返回被弹出的值 |
命令 | 行为 |
Sadd | 将给定元素添加到集合 |
Smembers | 返回集合保函的所有元素 |
SisMember | 检查给定元素是否存在于集合中 |
Srem | 如果给定的元素存在于集合中,那么移除这个元素 |
Hash(散列)
命令 | 行为 |
Hset | 在散列里面关联起给定的键值对 |
Hget | 获取指定散列键的值 |
HgetAll | 获取散列包含的所有键值对 |
Hdel | 如果给定键存在于散列里边,那么移除这个键 |
Zset(有序集合)
命令 | 行为 |
Zadd | 将一个带有给定分值的成员添加到有序集合里面 |
Zrange | 根据元素在有序排列中所处的位置,从有序集合里面获取多个元素 |
ZrangeByScore | 获取有序集合在给定分值范围内的所有元素 |
Zrem | 如果给定成员存在于有序集合,那么移除这个成员 |
-------------------华丽的分界线-----------------
下边将介绍常用命令:
String(字符串)
命令 | 用理 | 描述 |
incr | incr key-name | 将键key-name存储的置加上1 |
decr | decr key-name | 将键key-name存储的置减去1 |
incrBy | incrBy key-name amount | 将键key-name存储的置加上整数amount |
decrBy | decrBy key-name amount | 将键key-name存储的置减去整数amount |
incrByFloat | incrByFloat key-name amount | 将键key-name存储的置加上浮点数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 | 将从offset 偏移量开始的字串设置为给定的值 |
命令 | 用理 | 描述 |
getBit | getBit key-name offset | 将字符串看作是二进制串(bit string), 并返回串中偏移量为offset的二进制位的值 |
setBit | setBit key-name offset value | 将字符串看作是二进制串(bit string), 并将位串中偏移量位offset的二进制位的值设置位value |
bitCount | bitCount key-name [start end] | 统计二进制位串里面值为1的二进制位的数量。 如果给定了可选的start偏移量和end偏移量, 那么只对偏移量指定范围内的二进制位进行统计 |
bitTop | bitTop operation dest-key key-name [key-name ...] | 对一个或多个二进制位串执行包括并(and)、或(or)、 异或(xor)、非(not) 在内的任意一种按位运算操作(bitwise oeration), 并将计算得出的结果保存在dest-key键里面。 |
命令 | 用例 | 描述 |
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秒之内阻塞并等待可 弹出的元素出现 |
Set(集合)
命令 | 用理 | 描述 |
Sadd | Sadd key-name item [item ...] | 将一个或多个元素添加到集合里面,并返回被添加元素当 中原本并不存在于集合里面的元素数量 |
Srem | Srem key-name item [item ...] | 从集合里面移除一个或多个元素,并返回被移除元素的数量 |
SisMember | SisMember key-name item | 检查元素item是否存在于集合key-name里 |
Scard | Scrad key-name | 返回集合包含的元素的数量 |
SMembers | SMembers 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键里面 |
Hash(散列)
命令 | 用例 | 描述 |
Hmget | Hmget key-name key [key ...] | 从散列里面获取一个或多个键的值 |
Hmset | Hmset key-name key value [ key value ...] | 为散列里面的一个或者多个键设置值 |
Hdel | Hdel key-name key [key ...] | 删除散列里面的一个或多个键值对 ,返回成功找到并删除的键值对数量 |
Hlen | Hlen key-name | 返回散列包含的键值对数量 |
Hexists | Hexists key-name key | 检查给定键是否存在于散列中 |
Hkeys | Hkeys key-name | 获取散列包含的所有键 |
Hvals | Hvals key-name | 获取散列包含的所有值 |
HgetAll | HgetAll key-name | 获取散列包含的所有键值对 |
HincrBy | HincrBy key-name key increment | 将键key存储的值加上整数increment |
HincrByFloat | HincrByFloat key-name key increment | 将键key存储的值加上浮点数increment |
Zset(有序集合)
命令 | 用例 | 描述 |
Zadd | Zadd key-name score member [score member ...] | 将带有给定分值的成员添加到有序集合里面 |
Zrem | Zrem key-name member [member ...] | 从有序集合里面移除给定的成员 ,并返回被移除成员的数量 |
Zcard | Zcrad key-name | 返回有序集合包含的成员的数量 |
ZincrBy | ZincrBy key-name increament member | 将member成员的分值加上increment |
Zcount | Zcount key-name min max | 返回分值介于min和max之间的成员数量 |
Zrank | Zrank key-name member | 返回成员member在有序集合的排名 |
Zscore | Zsorce key-name member | 返回成员member的分值 |
Zrange | Zrange key-name start stop [withscores] | 返回有序集合中排名介于 start和stop之间的成员, 如果给定了可选的withscores选项, 那么命令将成员的分值也一并返回 |
ZrevRank | ZrevRank key-name member | 返回有序集合里成岩member的排名, 成员按照分值从大到小排列 |
ZrevRange | ZrevRange key-name start stop [withscores] | 返回有序集合给定排名范围内的成员 ,成员按照分值从大到小排列 |
ZrangeByScore | ZrangeByScore key min max [whitscores] [limit offset count] | 返回有序集合中,分值介于min和max 之间的所有成员 |
ZrevRangeByScore | ZrangeByScore key min max [whitscores] [limit offset count] | 获取有序集合中分值min和max之 间的所有成员,并按照分值从大到 小的顺序来返回它们 |
ZremRangeByRank | ZremRangeByRank key-name start end | 移除有序集合中排名介于start和stop 之间的所有成员 |
ZremRangeByScore | ZremRangeByScore key-name min max | 移除有序集合中分值介于min和ma x之间的所有成员 |
ZinterStore | ZinterStore dest-key key-count key [key ...] [weights weight [weight ...]] [aggregate sum|min|max ] | 对给定的有序集合执行类似于集合的交集运算 |
ZunionStore | ZunionStore dest-key key-count key [key ...] [weights weight [weight ...]] [aggregate sum|min|max ] | 对给定的有序集合执行类似于集合的并集运算 |
发布与订阅
命令 | 用例 | 描述 |
subscribe | subscribe channel [channel ...] | 订阅给定的一个或者多个频道 |
unSubscribe | unSubscribe [channel [channel ...]] | 退订给定的一个或多个频道, 如果执行时没有给定任何频道,那么退订所有频道 |
publish | publish channel message | 向给定频道发送消息 |
psubscribe | psubscribe pattern [pattern ...] | 订阅与给定模式相匹配的所有频道 |
punsubscribe | punsubscribe [ pattern [pattern ...]] | 退订给定的模式 ,如果执行时没有给定任何模式,那么退订所有模式 |
其他命令
排序
sort source-key [by pattern] [limit offset count] [get pattern [get pattern ...]] [asc|desc] [alpha] [store dest-key]
sort | sort source-key [by pattern] [limit offset count] [get pattern [get pattern ...]] [asc|desc] [alpha] [store dest-key] | 根据给定的选项,对输入列表、集合或者有序集合进行排序, 然后返回或者存储排序的结果 |
键的过期时间
命令 | 用例 | 描述 |
persist | persist key-name | 移除键的过期时间 |
ttl | ttl key-name | 查看给定键距离过期时间还有多少秒 |
expire | expire key-name seconds | 让给定的键在指定的秒数之后过期 |
expireat | expireat key-name timestamp | 将给定键的过期时间设置为给定的Unix时间戳 |
pttl | pttl key-name | 查看给定键距离过期时间还有多少毫秒 |
pexpire | pexpire key-name milleseconds | 让给定键在指定的毫秒数之后过期 |
pexpireat | pexpireat key-name timestamp-milliseconds | 将一个毫秒级精度的Unix时间设置为给定的过期时间 |