结构类型
| 结构类型 |
结构存储的值 |
结构的读写能力 |
| STRING |
可以是字符串,整数或者浮点数 |
对整个字符串或者字符串的其中一部分执行操作;对整数和浮点数执行自增(increment)或者自减(decrement)操作 |
| LIST |
一个链表,链表上的每个节点都包含了一个字符串 |
从链表的两端推入或者弹出元素;根据偏移量对链表进行修剪(trim);读取单个或者多个元素;根据值查找或者移除元素 |
| SET |
包含字符串的无序收集器(unordered collection),并且被包含的每个字符串都是独一无二,各不相同的 |
添加,获取,移除单个元素;检查一个元素是否存在于集合中,计算交集,并集,差集;从集合里面随机获取元素 |
| HASH |
包含键值对的无序散列表 |
添加,获取,移除单个键值对;获取所有键值对 |
| ZSET(有序集合) |
字符串成员(member)与浮点数分值(score)之间的有序映射,元素的排列顺序由分值的大小决定 |
添加,获取,删除单个元素;根据分值范围(fange)或者成员来获取元素 |
STRING (字符串)
可存储: 字节串,整数,浮点数


| 命令 |
行为 |
其他 |
| GET |
获取存储在给定键中的值 |
不存在返回nil |
| SET |
设置存储在给定键中的值 |
执行成功返回OK |
| DEL |
删除存储在给定键中的值 |
这个命令可以用于所有类型,成功删除的值的数量 |
| INCR |
将键存储的值加上1 |
|
| DECR |
将键存储的值减去1 |
|
| INCRBY |
将键存储的值加上整数 amount |
|
| DECRBY |
将键存储的值减去整数 amount |
|
| INCRBYFPOAT |
将键存储的值加上浮点数 amount |
|
LIST (列表)(有序)
列表结构可以有序地存储多个字符串,可重复


| 命令 |
行为 |
其他 |
| RPUSH |
将给定值推入列表的右端 |
返回列表当前的长度 |
| LPUSH |
将一个或多个值推入列表的左端 |
|
| LRANGE |
获取列表在给定范围上的所有值 |
从0到-1范围可以去除全部列表 |
| LINDEX |
获取列表在给定位置上的单个元素 |
取单个 |
| LPOP |
从列表的左端弹出一个值,并返回被弹出的值 |
被弹出的元素将不再存在于列表 |
| RPOP |
移除并返回列表最右端的元素 |
|
| LTRIM |
对列表进行修剪,只保留从start偏移量到end偏移量范围内的元素,其中偏移量为start和偏移量为end的元素也会被保留 |
|
| BLPOP |
从第一个非空列表中弹出位于最左端的元素,或者在timeout秒之内阻塞并等待可弹出的元素出现 |
|
| BRPOP |
从第一个非空列表中弹出位于最右端的元素,或者在timeout秒之内阻塞并等待可弹出的元素出现 |
|
| RPOPLPUSH |
从source-key列表中弹出位于最右端的元素,然后将这个元素推入dest-key列表的最左端,并向用户返回这个元素 |
|
| BRPOPLPUSH |
从source-key列表中弹出位于最右端的元素,然后将这个元素推入dest-key列表的最左端,并向用户返回这个元素;如果source-key为空,那么在timeout秒之内阻塞并等待可弹出的元素出现 |
|
SET (集合)(无序)
通过散列表来保证自己存储的每个字符串都是各不相同的(这些散列表只有键,但没有与键相关联的值),无序方式存储元素


| 命令 |
行为 |
其他 |
| SADD |
将给定元素添加到集合 |
返回1表示成功,返回0表示已存在 |
| SMEMBERS |
返回集合包含的所有元素 |
|
| SISMEMBER |
检查给定元素是否存在于集合中 |
返回1表示存在,返回0表示不存在 |
| SREM |
如果给定的元素存在于集合中,那么移除这个元素 |
返回被移除元素的数量 |
| SINTER |
交集 |
返回那些同事存在于所有集合中的元素 |
| SUNION |
并集 |
返回那些至少存在于一个集合中的元素 |
| SDIFF |
差集 |
返回那些存在于第一个集合,但不存在与其他集合中的元素 |
| SCARD |
返回集合包含的元素的数量 |
|
| SRANDMEMBER |
从集合里面随机返回一个或多个元素,单count为正数时,命令返回的随机元素不会重复;当count为负数时.命令返回的随机数可能会出现重复 |
|
| SPOP |
随机移除集合中的一个元素,并返回被移除的元素 |
|
| SMOVE |
如果集合source-key包含元素item,那么从集合source-key里面移除元素item.,并将元素item添加到集合dest-key中;如果item被成功移除,那么返回1否则返回0 |
|
| SDIFFSTORE |
将那些存在于第一个集合但并不存在于其他集合中的元素(差集运算)存储到dest-key键里面 |
|
| SINTERSTORE |
将那些同时存在于所有集合的元素(交集运算)存储到dest-key键里面 |
|
| SUNIONSTORE |
将那些是少存在于一个集合中的元素(并集计算)存储到dest-key键里面 |
|
HASH (散列)
可以存储多个键值对之间的映射,值可以是字符串也可以是数值,并且数值可以自增或自减操作.


| 命令 |
行为 |
其他 |
| HSET |
在散列里面关联起给定的键值对 |
1表示成功,0表示已存在 |
| HGET |
获取指定散列键的值 |
|
| HGETALL |
获取散列包含的所有键值对 |
|
| HDEL |
如果给定的键存在于散列里面,那么移除这个键 |
1表示成功,0表示不存在 |
| HMGET |
从散列里面获取一个或多个键的值 |
|
| HMSET |
为散列里面的一个或多个键设置值 |
|
| HDEL |
删除散列里面的一个或多个键值对,返回成功找到并删除的键值对数量 |
|
| HLEN |
返回散列包含的键值对数量 |
|
| HEXISTS |
检查给定键是否存在于散列中 |
|
| HKEYS |
获取散列包含的所有键 |
|
| HVALS |
获取散列包含的所有值 |
|
| HGETALL |
获取散列包含的所有键值对 |
|
| HINCRBY |
将键key存储的值加上整数increment |
|
| HINCRBYFLOAT |
将键key存储的值加上浮点数increment |
|
ZSET (有序集合)
有序集合的键被称为成员(member),每个成员都是各不相同的,有序集合的值被称为分值(score),分值必须为浮点数,有序集合是Redis里面唯一一个既可以根据成员访问元素(散列一样),有可以根据分值以及分值的排序来访问元素的结构


| 命令 |
行为 |
其他 |
| ZADD |
将一个带有给定分值的成员添加到有序集合里面 |
返回添加元素的数量 |
| ZRANGE |
返回有序集合中排名介于start和stop之间的成员,如果给定了可选的withsocores选项,那么命令会将成员的分值也一并返回 |
从0开始-1结束可返回全部 |
| ZRANGEBYSCORE |
获取有序集合在给定分值范围内的所有元素 |
|
| ZREM |
如果给定成员存在于有序集合,那么移除这个成员 |
返回被移除元素的数量 |
| ZCARD |
返回有序集合包含的成员数量 |
|
| ZINCRBY |
返回分值介于min和max之间的成员数量 |
|
| ZRANK |
返回成员member在有序集合中的排名 |
|
| ZSCORE |
妇女和成员member的分值 |
|
| ZREVRANK |
返回有序集合里成员member的排名.成员按照分值从大到小排列 |
|
| ZREVRANGE |
返回有序集合给定排名范围内的成员,成员按照分值从大到小排序 |
|
| ZRANGEBYSOCRE |
返回有序集合中,分值介于min和max之间的所有成员 |
|
| ZREVRANGEBYSOCRE |
获取有序集合中分值介于min和max之间的所有成员,并按照分值从大到小的顺序来返回它们 |
|
| ZREMRANGEBYRANK |
移除有序集合中排名界面start和stop之间的所有成员 |
|
| ZREMRANGEBYSCORE |
移除有序集合中分值介于min和max之间的所有成员 |
|
| ZINTERSTORE |
对给定的有序集合执行类似于集合的交集运算 |
|
| ZUNIONSTORE |
对给定的有序集合执行类似于集合的并集运算 |
|
发布于订阅
| 命令 |
示例 |
行为 |
| SUBSCRIBE |
SUBSCRIBE changel [changel ...] |
订阅给定的一个或多个频道 |
| UNSUBSCRIBE |
UNSUBSCRIBE [changel [changel ...]] |
退订给定的一个或多个频道,如果执行时没有给定任何频道,那么推定所有频道 |
| PUBLISH |
PUBLIST changel message |
向给定频道发送消息 |
| PSUBSCRIBE |
PSUBSCRIBE pattern [pattern ...] |
订阅与给定模式相匹配的所有频道 |
| PUNSUBSCRIBE |
PUNSUBSCRIBE [pattern [pattern ...]] |
退订给定的模式,如果执行时没有给定任何模式,那么退订所有模式 |
其他命令
排序
SORT命令不仅可以对列表进行排序,还可以对集合进行排序,然后返回一个列表形式的排序结果,
| 命令 |
示例 |
行为 |
| SORT |
SORT source-key [BY pattern] [LIMIT offset count] [GET pattern [GET pattern ...]] [ASC or DESC] [ALPHA] [STORE dest-key] |
根据给定的选项,对输入列表,集合或者有序集合进行排序,然后返回或者存储排序的结果 |
事务
用户在不被打断的情况下对多个键执行操作
| 命令 |
示例 |
| WATCH |
|
| MULTI |
|
| EXEC |
|
| UNWATCH |
|
| DISCARD |
|
键的过期时间
| 命令 |
示例 |
描述 |
| 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 milliseconds |
让给定键在指定的毫秒数之后过期 |
| PEXPIREAT |
PEXPIREAT key-name timestamp-milliseconds |
将一个毫秒级精度的unix时间戳设置为给定键的过期时间 |