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 listRedis
- [Redis 系列]redis 學習三,redis 資料結構之 string 和 list 基本使用及熟悉Redis資料結構
- 【Redis 系列】redis 學習三,redis 資料結構之 string 和 list 基本使用及熟悉Redis資料結構
- Redis in .NET Core 入門:(4) LIST和SETRedis
- redis命令之-listRedis
- redis-8.list型別Redis型別
- Redis的列表型別(List)Redis型別
- redis之(二十一)redis之深入理解Spring Redis的使用RedisSpring
- Java入門學習- 理解List和HashMap和HashTable的用法和區別JavaHashMap
- Redis之list型別及操作Redis型別
- (三分鐘系列)詳解Redis中列表(List)的使用方法和內部結構Redis
- Redis介紹和使用Redis
- MongoDB和Redis的使用MongoDBRedis
- redis之列表型別(list)——佇列和棧簡單實現Redis型別佇列
- 集合第一個Array List理解
- 「進擊Redis」六、Redis List運用場景、API解析RedisAPI
- promise的理解和使用Promise
- NSProxy的理解和使用
- Git的理解和使用Git
- 初探Redis-基礎型別ListRedis型別
- Mac 安裝和使用redisMacRedis
- Redis?使用?List?實現訊息佇列的優缺點猜陂Redis佇列
- 深入理解Redis的持久化機制和原理Redis持久化
- Redis基礎系列-0x005:ListRedis
- Redis 中使用 list,streams,pub/sub 幾種方式實現訊息佇列Redis佇列
- Redis 使用 List 實現訊息佇列能保證訊息可靠麼?Redis佇列
- debug——python redis的 list ,使用 lrem 刪除不了對應的值PythonRedisREM
- 使用docker安裝mysql和redisDockerMySqlRedis
- 對redis深入理解Redis
- Redis--事務理解Redis
- 理解redis高可用方案Redis
- vant list元件使用元件
- java之深入理解List.subList()方法Java
- redis原始碼分析(四)、redis命令學習總結—連結串列ListRedis原始碼
- Redis 竟然能用 List 實現訊息佇列Redis佇列
- 常用php操作redis命令整理(三)LIST型別PHPRedis型別
- Redis學習手冊(List資料型別)Redis資料型別