From 4841f090a7a0bba710dc6274efbf77b59073fffc Mon Sep 17 00:00:00 2001 From: yexk Date: Fri, 11 Aug 2017 18:52:26 +0800 Subject: [PATCH] complete hash and list commands ... --- backend/redis/redis.md | 30 ++++++++++++++++++++++-------- 1 file changed, 22 insertions(+), 8 deletions(-) diff --git a/backend/redis/redis.md b/backend/redis/redis.md index 07282e4..c20b3a0 100644 --- a/backend/redis/redis.md +++ b/backend/redis/redis.md @@ -20,6 +20,8 @@ redis 127.0.0.1:6379> DEL Yexk 在以上实例中 DEL 是一个命令, `Yexk` 是一个键。 如果键被删除成功,命令执行后输出 `(integer) 1`,否则将输出 `(integer) 0`。 ## Redis 字符串(String) +> Redis 字符串数据类型的相关命令用于管理 redis 字符串值。 + | 操作 | 命令 | 说明 | | -- | -- | -- | | 增 | 1.`SET key value `
2.`SETNX key value`
3.`SETEX key seconds value` | 1.设置指定 `key` 的值
2.只有在 `key` 不存在时设置 `key` 的值
3.将值 value 关联到 `key` ,并将 `key` 的过期时间设为 `seconds` (以秒为单位) | @@ -28,15 +30,27 @@ redis 127.0.0.1:6379> DEL Yexk | 查 | 1.`GET key`
2.`GETRANGE key start end `
3.`MGET key1 [key2..]`
4.`EXISTS key [key ...]` | 1.获取指定 key 的值
2.返回 key 中字符串值的子字符
3.获取所有(一个或多个)给定 key 的值
4.判断 `key` 是否存在,存在返回1。多个`key`判断存在则计算总数并返回 | ## Redis 哈希(Hash) -#### 增 -#### 删 -#### 改 -#### 查 +> Redis hash 是一个string类型的field和value的映射表,hash特别适合用于存储对象。 +Redis 中每个 hash 可以存储 232 - 1 键值对(40多亿)。 + +| 操作 | 命令 | 说明 | +| -- | -- | -- | +| 增 | 1.`HMSET key field1 value1 [field2 value2 ]`
2.`HSET key field value`
3.`HSETNX key field value` | 1.同时将多个 field-value (域-值)对设置到哈希表 key 中
2.将哈希表 key 中的字段 field 的值设为 value
3.只有在字段 field 不存在时,设置哈希表字段的值 | +| 删 | 1.`HDEL key field2 [field2]` | 1.删除一个或多个哈希表字段 | +| 改 | 同 操作`增`
1.`HINCRBY key field increment`
2.`HINCRBYFLOAT key field increment` |
1. 为哈希表 `key` 中的指定字段的整数值加上增量 `increment`
2.为哈希表 `key` 中的指定字段的浮点数值加上增量 `increment` | +| 查 | 1.`HEXISTS key field`
2.`HGET key field`
3.`HKEYS key`
4.`HVALS key`
5.`HLEN key`
6.`HGETALL key` | 1.查看哈希表 `key` 中,指定的字段是否存在
2.获取存储在哈希表中指定字段的值
3.获取所有哈希表中的**字段**
3.获取所有哈希表中的**值**
4.获取哈希表中字段的数量
5.获取在哈希表中指定 `key` 的所有字段和值 | + ## Redis 列表(List) -#### 增 -#### 删 -#### 改 -#### 查 +> Redis列表是简单的字符串列表,按照插入顺序排序。你可以添加一个元素到列表的头部(左边)或者尾部(右边) +一个列表最多可以包含 232 - 1 个元素 (4294967295, 每个列表超过40亿个元素)。 + +| 操作 | 命令 | 说明 | +| -- | -- | -- | +| 增 | 1.`LPUSH key value1 [value2]`
2.`RPUSH key value1 [value2]`
3.`LPUSHX key value`
4.`RPUSHX key value`
5.`LSET key index value` | 1.将一个或多个值插入到列表**头部**
2.将一个或多个值插入到列表**尾部**
3.将一个值插入到已存在的列表**头部**,如果不存在则插入失败。
4.将一个值插入到已存在的列表**尾部**,如果不存在则插入失败
5.通过索引设置列表元素的值 | +| 删 | 1.`LPOP key`
2.`RPOP key`
3.`BLPOP key1 [key2 ] timeout`
4.`BRPOP key1 [key2 ] timeout`
5.`LREM key count value`
6.`LTRIM key start stop`
7.`RPOPLPUSH source destination`
8.`BRPOPLPUSH source destination timeout`
9.`LINSERT key BEFORE|AFTER pivot value` | 1.移出并获取列表的第一个元素
2.移除并获取列表最后一个元素
3.移出并获取列表的第一个元素, 如果列表没有元素会阻塞列表直到等待超时或发现可弹出元素为止
4.移出并获取列表的最后一个元素, 如果列表没有元素会阻塞列表直到等待超时或发现可弹出元素为止
5.移除列表元素
6.对一个列表进行修剪(trim),就是说,让列表只保留指定区间内的元素,不在指定区间之内的元素都将被删除。
7.移除列表的最后一个元素,并将该元素添加到另一个列表并返回
8.从列表中弹出一个值,将弹出的元素插入到另外一个列表中并返回它; 如果列表没有元素会阻塞列表直到等待超时或发现可弹出元素为止
9.在列表的元素前或者后插入元素 | +| 改 | 同 操作`增`、`删` | | +| 查 | 1.`LRANGE key start stop`
2.`LINDEX key index`
3.`LLEN key` | 1.获取列表指定范围内的元素
2.通过索引获取列表中的元素
3.获取列表长度 | + ## Redis 集合(Set) #### 增 #### 删