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 | 如果給定的元素存在于集合中,移除該元素 |