5種數(shù)據(jù)結(jié)構(gòu)
結(jié)構(gòu)類型 | 結(jié)構(gòu)存儲(chǔ)的值 | 結(jié)構(gòu)的操作 |
---|---|---|
String | 可以是字符串埠偿,整數(shù)跨蟹,浮點(diǎn)數(shù) | 對(duì)整個(gè)字符串的基部一部分進(jìn)行操,對(duì)整數(shù)、浮點(diǎn)數(shù)執(zhí)行加減操作 |
List | 雙向鏈表,鏈表上每個(gè)節(jié)點(diǎn)都包含了一個(gè)String | 從鏈表兩端push\pop元素,根據(jù)偏移量對(duì)鏈表修剪啡莉,讀取單個(gè)或多個(gè)元素,根據(jù)值查找或者移除元素 |
Set | 包含字符串的無(wú)序收集器旨剥,并且被包含的每個(gè)字符串都是獨(dú)一無(wú)二不可重復(fù) | 添加咧欣、獲取、移除單個(gè)元素轨帜,檢查某元素是否存在魄咕,計(jì)算交、并蚌父、差集哮兰,從集合中隨機(jī)獲取元素 |
Hash | 包含鍵值對(duì)的無(wú)序散列表 | 添加毛萌、獲取、移除單個(gè)鍵值對(duì)喝滞,獲取所有鍵值對(duì) |
Zset | 字符串成員與浮點(diǎn)數(shù)分值之間的有序映射阁将,元素的排列順序由分值的大小決定 | 添加、獲取右遭、刪除單個(gè)元素做盅,根據(jù)分值范圍或者成員來(lái)獲取元素 |
實(shí)用命令
String字符串
- 增加、修改: set key value
- 獲染焦: get key
- 刪除: del key
- 正則取key: keys "key*"
List列表
一個(gè)列表可以有序地存儲(chǔ)多個(gè)字符串言蛇,并且列表里的元素是可以重復(fù)的
- 左/右增加:lpush/rpush key value
- 左/右獲取并移除:lpop/rpop key
- 列出指定范圍元素:lrange key 0 -1
- 取指定下標(biāo)元素:lindex key 2
Set集合
- 增加:sadd set-key value,成功添加返回1宵距,如果返回0則表示集合中已經(jīng)有這個(gè)元素了
- 刪除:srem set-key value,存在返回1吨拗,不存在返回0
- 存在性:sismember set-key value满哪,存在返回1,不存在返回0
- 獲取所有元素:smembers set-key
Hash散列
- 增加:hset hash-key subkey value
- 獲热芭瘛:hget hash-key subkey / hgetall key
- 刪除:hdel hash-key subkey
Zset有序集合
有序集合的鍵被稱為成員哨鸭,每個(gè)成員都是各不相同的。有序集合的值被稱為分值娇妓,分值必須為浮點(diǎn)數(shù)像鸡。
有序集合是redis中唯一一個(gè)既可以根據(jù)成員訪問(wèn)元素,又可以根據(jù)分值以及分值的排列須序來(lái)訪問(wèn)元素的結(jié)構(gòu)哈恰。
- 增加:zadd zset-key number value
- 獲戎还馈:zrange zset-key 0 -1 withscores 根據(jù)元素在有序排列中所處的位置,從有序集合里面獲取多個(gè)元素
- 獲茸疟痢:zrangebyscore zset-key 1 2 withscores 獲取有序集合在給定分值范圍內(nèi)的所有元素
- 刪除:zrem zset-key value 如果存在刪除