redis list 使用和理解
key | element |
---|---|
user:1:message | a-b-c-d-e-f |
- lpush :左邊加入
- lpop:左邊彈出
- rpush :右邊加入
- rpop :左邊彈出
- llen:長度
- lrem:移除某個元素
- lrange :擷取某一段的元素
- lindex:某個位置的元素
特點:
- 有序
- 可以重複
- 左右兩邊可以插入彈出
rpush key value1 value2 value3
#從列表右端插入值
lpush key value1 value2 ...valuen
#從列表左端插入值 1-N
linsert key before|after value newvalue
#在list指定的值前|後 插入newvalue
lpop key
#從列表左側彈出一個item
rpop
#從列表右側彈出一個item
lrem key count value
#根據count值 從列表中刪除所有value相等的項
(1) count>0 從左到右 ,刪除最多countg個value相等的項
(2)count<0 從右到左,刪除最多Math.abs(count)個value相等的專案
(3) count = 0,刪除所有value相等的項
abcdef | |
---|---|
lrem listkey 0 a | ccbf |
lrem listkey -1 c | cbf |
ltrim key start end
#按照索引範圍修剪列表
abcdef | |
---|---|
ltrim listkey 1 4 | bcde |
ltrim listkey 0 2 | bcd |
查
lrange key start end (包括end)
#獲取列表制定索引範圍所有item
abcdef
lindex key index
#獲取列表制定索引的item
llen key
#獲取列表的長度
abcdef | |
---|---|
lrange listkey 0 2 | abc |
lrange listkey 1 -1 | bcdef |
lindex listkey 1 | a |
lindex listkey -1 | f |
llen key | 6 |
lset key index newvalue
#設定列表制定索引值為newvalue
abcdef | |
---|---|
lset listkey 2 java | abjavadef |
實戰:
TimeLine
你關注的人更新微博:lpush
weibo10129
weibo998
weibo10194
weibo10158
weibo100
bl0op key timeout
#lpop 阻塞版本 timeout是阻塞超時時間,timeout=0 為永遠不會阻塞
brpop key timeout
#rpop 阻塞版本 timeout為阻塞超時時間,timeout=0 永遠不阻塞
tips
- lrush +lpop = stack
- lpush +rpop = queue
- lpush + ltrim = capped collection
- lpush +brpop+ = message queue
相關文章
- redis api的使用和理解RedisAPI
- 【Redis 系列】redis 學習三,redis 資料結構之 string 和 list 基本使用及熟悉Redis資料結構
- [Redis 系列]redis 學習三,redis 資料結構之 string 和 list 基本使用及熟悉Redis資料結構
- redis listRedis
- 使用list和tuple
- Redis in .NET Core 入門:(4) LIST和SETRedis
- redis-8.list型別Redis型別
- (三分鐘系列)詳解Redis中列表(List)的使用方法和內部結構Redis
- 集合第一個Array List理解
- MongoDB和Redis的使用MongoDBRedis
- Redis介紹和使用Redis
- debug——python redis的 list ,使用 lrem 刪除不了對應的值PythonRedisREM
- NSProxy的理解和使用
- promise的理解和使用Promise
- 「進擊Redis」六、Redis List運用場景、API解析RedisAPI
- 初探Redis-基礎型別ListRedis型別
- (六)Redis 訊息佇列 List、StreamsRedis佇列
- Redis?使用?List?實現訊息佇列的優缺點猜陂Redis佇列
- 你對Collection中Set、List、Map理解?
- python 程式的使用和理解Python
- [Redis 基礎知識] Redis List 型別常用命令Redis型別
- Redis 使用 List 實現訊息佇列能保證訊息可靠麼?Redis佇列
- Redis 中使用 list,streams,pub/sub 幾種方式實現訊息佇列Redis佇列
- Redis基礎系列-0x005:ListRedis
- STL使用篇__list
- vant list元件使用元件
- java之深入理解List.subList()方法Java
- 使用夜鶯+categraf監控redis和redis叢集Redis
- 使用docker安裝mysql和redisDockerMySqlRedis
- 丐版stream流理解和使用
- SpringBoot之ApplicationContextInitializer的理解和使用Spring BootAPPContext
- 白話理解和使用DOCKER VOLUMEDocker
- Redis--事務理解Redis
- 對redis深入理解Redis
- Redis資料結構:List型別全面解析Redis資料結構型別
- Redis 竟然能用 List 實現訊息佇列Redis佇列
- 《Redis開發與運維》第二章 API的理解和使用(下)讀書筆記Redis運維API筆記
- 《Redis開發與運維》第二章 API的理解和使用(中)讀書筆記Redis運維API筆記