Redis学习系列——Redis基本教程
1. Redis数据类型
Redis支持五种数据类型:string(字符串),hash(哈希),list(列表),set(集合)及zset(sorted set:有序集合)。
2. 字符串——String
示例:
127.0.0.1:6379> SET key1 "value1"
OK
127.0.0.1:6379> GET key1
"value1"
主要命令:
编号 | 命令 | 描述 |
---|---|---|
1 | SET key value | 此命令设置指定键的值。 |
2 | GET key | 获取指定键的值。 |
3. 哈希——Hash
Hash包括key - field - value 三个元素,一个key可对应多个field,一个field对应一个value。
示例:
127.0.0.1:6379> HMSET hash1 field1 "v1 v2 v3" field2 "v4"
OK
127.0.0.1:6379> HGETALL hash1
1) "field1"
2) "v1 v2 v3"
3) "field2"
4) "v4"
主要命令:
编号 | 命令 | 描述 |
---|---|---|
1 | HMSET key field1 value1 [field2 value2 ] | 为多个哈希字段分别设置它们的值 |
2 | HGETALL key | 获取指定key下面的所有所有字段和值 |
3 | HVALS key | 获取哈希中的所有值 |
4 | HDEL key field2 [field2] | 删除一个或多个哈希字段 |
5 | HGET key field | 获取指定key下面的指定field的值 |
4. 列表——List
Redis列表只是字符串列表,按插入顺序排序。可以在列表的头部或尾部添加Redis列表中的元素。列表的最大长度为2^32 - 1个元素。
示例:
127.0.0.1:6379> LPUSH list1 "v1"
(integer) 1
127.0.0.1:6379> LPUSH list1 "v2"
(integer) 2
127.0.0.1:6379> LPUSH list1 "v3"
(integer) 3
127.0.0.1:6379> LRANGE list1 0 10
1) "v3"
2) "v2"
3) "v1"
主要命令:
编号 | 命令 | 描述 |
---|---|---|
1 | LPUSH key value1 [value2] | 将一个或多个值添加到列表 |
2 | LPOP key | 删除并获取列表中的第一个元素 |
3 | LRANGE key start stop | 列表获取start-end 的值 |
4 | RPOP key | 删除并获取列表中的最后一个元素 |
5 | LSET key index value | 通过索引在列表中设置元素的值 |
6 | LINDEX key index | 通过其索引从列表获取元素 |
5. 集合——Set
Redis集合是唯一字符串的无序集合。 唯一值表示集合中不允许键中有重复的数据。
示例:
127.0.0.1:6379> SADD set1 "v1"
(integer) 1
127.0.0.1:6379> SADD set1 "v2"
(integer) 1
127.0.0.1:6379> SADD set1 "v3"
(integer) 1
127.0.0.1:6379> SADD set1 "v3"
(integer) 0
127.0.0.1:6379> SMEMBERS set1
1) "v3"
2) "v2"
3) "v1"
主要命令:
编号 | 命令 | 描述 |
---|---|---|
1 | SADD key member1 [member2] | 将一个或多个值添加到集合 |
2 | SMEMBERS key | 查看集合的元素 |
6. 有序集合sorted set——Zset
zset的每一个成员都有一个分数与之对应,并且分数是可以重复的。
示例:
127.0.0.1:6379> zadd zset1 1 v
(integer) 1
127.0.0.1:6379> zadd zset1 1 v1
(integer) 1
127.0.0.1:6379> zadd zset1 2 v2
(integer) 1
127.0.0.1:6379> zadd zset1 0 v3
(integer) 1
127.0.0.1:6379> zrevrange zset1 0 3
1) "v2"
2) "v1"
3) "v3"
主要命令:
编号 | 命令 | 描述 |
---|---|---|
1 | ZADD key score value | 将一个带分数的值存到有序集合 |
2 | ZREVRANGE key start end | 从高到低排序输出指定范围的数据 |