目录
- 简介
- 数据结构比对
- key常见命令
- String字符串类型
- List列表类型
- Set集合类型
- Hash散列类型
- ZSet数据类型
1. 简介:
redis支持的5种常见存储类型为:String、List、Set、Hash、ZSet
2. 数据结构比对
数据类型 | 结构存储的值 | 存储结构 |
---|
String字符串 | 可以是字符串、整数或者是浮点数 | int、SDS |
List列表 | 一个li链表、链表上的每一个节点都包含一个字符串 | 3.2前linkedlis和ziplist,3.2之后quicklist |
Hash散列 | 包含键值对的无序散列表 | 数据量小用ziplist,其他用hashtable |
Set集合 | 包含字符串的无序收集器,且唯一 | intset或者hashtable |
ZSet有序结合 | 字符串成员和浮点数分值之间的有序映射,元素的排列顺序由分值的大小决定 | ziplis、skiplist+hashtable |
3. Key常见命令
命令格式 | 说明 |
---|
DEL key [key …] | 删除给定的一个或多个 key |
EXISTS key | 检查给定 key 是否存在 |
KEYS pattern | 查找所有符合给定模式 pattern 的 key |
TTL/PTTL key | 返回给定 key 的剩余生存时间 |
EXPIRE key seconds | 为给定 key 设置生存时间 |
TYPE key | 返回 key 所储存的值的类型 |
RENAME key newkey | 将 key 改名为 newkey |
4. String字符串类型
4.1 常用命令
命令格式 | 说明 |
---|
SET key value | 设置存在在给定键中的值 |
GET key | 获取存储在给定键中的值 |
DEL key [key …] | 删除存储在给定键中的值 |
SET key value [EX seconds] [PX milliseconds] [NX|XX]
- EX second :设置键的过期时间为 second 秒。 SET key value EX second 效果等同于 SETEX key second value
- PX millisecond :设置键的过期时间为 millisecond 毫秒。 SET key value PX
millisecond 效果等同于 PSETEX key millisecond value 。 - NX :只在键不存在时,才对键进行设置操作。 SET key value NX 效果等同于 SETNX key value
- XX :只在键已经存在时,才对键进行设置操作
4.2 整形和浮点型操作命令
命令格式 | 说明 |
---|
INCR key | 将 key 中储存的数字值增一 |
INCRBY key increment | 将 key 中储存的数字值减一 |
DEL key [key …] | 删除存储在给定键中的值 |
5. List列表类型
5.1 常用命令
命令格式 | 说明 |
---|
LPUSH key value [value …] | 将一个或多个值 value 插入到列表 key 的表头 |
RPUSH key value [value …] | 将一个或多个值 value 插入到列表 key 的表尾 |
LPOP key | 移除并返回列表 key 的头元素 |
RPOP key | 移除并返回列表 key 的尾元素 |
LRANGE key start stop | 返回列表 key 中指定区间内的元素,区间以偏移量 start 和 stop 指定 |
LINDEX key index | 返回列表 key 中,下标为 index 的元素 |
6. Set集合类型
6.1 常用命令
命令格式 | 说明 |
---|
SADD key member [member …] | 将一个或多个 member 元素加入到集合 key 当中,已经存在于集合的 member 元素将被忽略 |
SMEMBERS key | 返回集合 key 中的所有成员 |
SISMEMBER key member | 判断 member 元素是否集合 key 的成员 |
RPOP key | 移除并返回列表 key 的尾元素 |
LRANGE key start stop | 返回列表 key 中指定区间内的元素,区间以偏移量 start 和 stop 指定 |
SREM key member [member …] | 移除集合 key 中的一个或多个 member 元素,不存在的 member 元素会被忽略 |
SUNION key [key …] | 返回一个集合的全部成员,该集合是所有给定集合的并集 |
SINTER key [key …] | 返回一个集合的全部成员,该集合是所有给定集合的交集 |
7. Hash散列类型
7.1 常用命令
命令格式 | 说明 |
---|
HSET key field value | 将哈希表 key 中的域 field 的值设为 value |
HGET key field | 返回哈希表 key 中给定域 field 的值 |
HGETALL key | 返回哈希表 key 中,所有的域和值 |
HDEL key field [field …] | 删除哈希表 key 中的一个或多个指定域,不存在的域将被忽略 |
8. ZSet数据类型
8.1 常用命令
命令格式 | 说明 |
---|
ZADD key score member [[score member] …] | 将一个或多个 member 元素及其 score 值加入到有序集 key 当中 |
ZRANGE key start stop [WITHSCORES] | 返回有序集 key 中,指定区间内的成员 |
ZRANGEBYSCORE key min max [WITHSCORES] [LIMIT offset count] | 返回有序集 key 中,所有 score 值介于 min 和 max 之间(包括等于 min 或 max )的成员。有序集成员按 score 值递增(从小到大)次序排列 |
ZREM key member [member …] | 移除有序集 key 中的一个或多个成员,不存在的成员将被忽略 |
9. 命令参考文档
http://redisdoc.com/