Redis提供的5种结构
结构类型 | 结构存储的值 | 结构的读写能力 |
---|---|---|
STRING | 字符串、整数或者浮点数 | 对整个字符串或者其中一部分操作,对整数和浮点数自增或自减 |
LIST | 链表,链表上每个节点包含一个字符串 | 从链表的两端推入或弹出元素,修剪,读取元素,查找或移除元素 |
SET | 包含字符串的无序收集器,每个字符串唯一 | 添加、移除、获取单个元素,检查元素是否存在集合中,计算交集、并集、差集,从集合里面随机获取元素 |
Hash | 包含键值对的无序散列表 | 添加、获取、移除单个键值对,获取所有键值对 |
ZSET(有序集合) | 字符串成员与浮点数分值之间的有序映射 | 添加、获取、删除单个元素,根据分值范围或者成员来获取元素 |
Redis中的字符串
基本命令
命令 | 操作 |
---|---|
GET | 获取存储在给定键中的值 |
SET | 设置存储在给定键中的值 |
DEL | 删除存储在给定键中的值 |
操作练习:
127.0.0.1:6379> set hello world
OK
127.0.0.1:6379> get hello
"world"
127.0.0.1:6379> del hello
(integer) 1
127.0.0.1:6379> get hello
(nil)
127.0.0.1:6379>
Redis中的列表
- 基本命令
命令 | 操作 |
---|---|
LPUSH/RPUSH | 将元素推入列表的左端和右端 |
LPOP/RPOP | 从列表的左端和右端弹出元素 |
LINDEX | 获取列表在给定位置上的一个元素 |
LRANGE | 获取列表给定范围上的所有元素 |
- 基本操作:
127.0.0.1:6379> rpush list-key item
(integer) 1
127.0.0.1:6379> rpush list-key item2
(integer) 2
127.0.0.1:6379> rpush list-key item3
(integer) 3
127.0.0.1:6379> rpush list-key item4
(integer) 4
127.0.0.1:6379> lrange list-key 0 -1
1) "item"
2) "item2"
3) "item3"
4) "item4"
127.0.0.1:6379> lindex list-key 1
"item2"
127.0.0.1:6379> lindex list-key 0
"item"
127.0.0.1:6379> lpop list-key
"item"
127.0.0.1:6379> rpop list-key
"item4"
127.0.0.1:6379> lrange list-key 0 -1
1) "item2"
2) "item3"
127.0.0.1:6379>
Redis的集合
Redis的集合和列表的不同在于:
- 列表可以存储多个相同的字符串,集合存储的字符串都是各不相同
- 集合使用无序方式存储元素
命令列表:
命令 | 操作 |
---|---|
SADD | 将给定元素添加到集合 |
SMEMBERS | 返回集合包含的所有元素 |
SISMEMBER | 检查给定的元素是否包含在集合中 |
SREM | 如果给定的元素存在于集合中,移除该元素 |