一、介紹:
列表類型(list)可以存儲一個(gè)有序的字符串列表
常用的操作是向列表兩端添加元素,或者獲得列表的某一個(gè)片段
列表類型內(nèi)部是使用雙向鏈表(double linked list)實(shí)現(xiàn)的,獲取越接近兩端的元素速度就越快
使用鏈表的代價(jià)是通過索引訪問元素比較慢
這種特性使列表類型能非常快速地完成關(guān)系數(shù)據(jù)庫難以應(yīng)付的場景:如社交網(wǎng)站的新鮮事,我們關(guān)心的只是最新的內(nèi)容,使用列表類型存儲,即使新鮮事的總數(shù)達(dá)到幾千萬個(gè),獲取其中最新的100條數(shù)據(jù)也是極快的
二、命令:
| 命令 | 說明 |
|---|---|
| sdfvalue | 賦值 |
| LPUSH key value | 向列表左邊增加元素,返回值表示增加元素后列表的長度 |
| LRANGE key startNum endNum | 取出列表所有元素 startNum:起始下標(biāo)為 endNum:結(jié)束下標(biāo)為 |
| RPUSH key value | 向列表右邊增加元素,返回值表示增加元素后列表的長度 |
| LPOP key | 從列表左端彈出元素 |
| RPOP key | 從列表右端彈出元素 |
| LLEN key | 獲取列表中元素的個(gè)數(shù) |
| LINDEX key index | 獲得指定索引的元素值 index:列表中下標(biāo)值 |
| LSET key index value | 設(shè)置下標(biāo)index的值 |
| LINSERT key BEFORE index value | 向指定index前插入元素 |
| LINSERT key AFTER index value | 向指定index后插入元素 |
三、列表類型實(shí)踐
- 例:記錄最新的10篇博文
127.0.0.1:6379> LPUSH posts:list 11 12 13
(integer) 3
127.0.0.1:6379> LRANGE posts:list 0 -1
1) "13"
2) "12"
3) "11"