Redis提供的5種結(jié)構(gòu)
結(jié)構(gòu)類型 | 結(jié)構(gòu)存儲的值 | 結(jié)構(gòu)的讀寫能力 |
---|---|---|
STRING | 字符串挠进、整數(shù)或者浮點(diǎn)數(shù) | 對整個字符串或者其中一部分操作,對整數(shù)和浮點(diǎn)數(shù)自增或自減 |
LIST | 鏈表,鏈表上每個節(jié)點(diǎn)包含一個字符串 | 從鏈表的兩端推入或彈出元素,修剪,讀取元素,查找或移除元素 |
SET | 包含字符串的無序收集器,每個字符串唯一 | 添加愁拭、移除、獲取單個元素亏吝,檢查元素是否存在集合中岭埠,計算交集、并集蔚鸥、差集惜论,從集合里面隨機(jī)獲取元素 |
Hash | 包含鍵值對的無序散列表 | 添加、獲取止喷、移除單個鍵值對馆类,獲取所有鍵值對 |
ZSET(有序集合) | 字符串成員與浮點(diǎn)數(shù)分值之間的有序映射 | 添加、獲取弹谁、刪除單個元素乾巧,根據(jù)分值范圍或者成員來獲取元素 |
Redis中的字符串
基本命令
命令 | 操作 |
---|---|
GET | 獲取存儲在給定鍵中的值 |
SET | 設(shè)置存儲在給定鍵中的值 |
DEL | 刪除存儲在給定鍵中的值 |
操作練習(xí):
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 | 如果給定的元素存在于集合中预愤,移除該元素 |