Redis的List是一個(gè)雙向鏈表
LPUSH
作用:向列表左端添加元素
語法:LPUSH key value value...
從左到右逐個(gè)添加到左端纱扭,前面的先添加, 可以一次添加多個(gè)元素
RPUSH
作用:向列表右端添加元素
語法:RPUSH key value, value...
LPUSHX
作用: 向列表左端添加元素儡遮,只有key存在才可以添加
語法:LPUSH key value
一次只能添加一個(gè)元素
RPUSHX
作用: 向列表右端添加元素乳蛾,只有key存在才可以添加
語法:RPUSH key value
一次只能添加一個(gè)元素
LPOP
作用:將列表左端的元素彈出
語法:LPOP key
RPOP
作用: 將列表右端的元素彈出
語法: RPOP key
不存在就nil
LLEN
作用:獲得列表的長(zhǎng)度
語法:LLEN key
不存在就返回0
LRANGE
作用: 獲取列表片段
語法: LRANGE key start stop
包含最后的索引值
如果start比列表的長(zhǎng)度還大,則返回空
LREM
作用:刪除指定的值
語法: LREM key count value
count值由以下幾類型:
count>0: 從列表的頭部開始鄙币,向尾部搜索肃叶,移除與value相等的count個(gè)元素
count<0: 從列表的尾部開始,向頭部搜索十嘿,移除與value相等的count個(gè)元素
count=0: 移除列表中全部的與count相等的值
LINDEX
作用:獲得指定索引元素的值
語法: LINDEX key index
LSET
作用:設(shè)置指定索引的值
語法:LSET key index value
LTRIM
作用:只保留列表的片段
語法:LTRIM key start stop
當(dāng)start大于列表長(zhǎng)度因惭,則被清空
LINSERT
作用:向列表插入元素
語法:LINSERT key BEFORE|AFTER pivot value
LINSERT key BEFORE a hello
向key這個(gè)列表中,a之前插入一個(gè)元素hello
成功返回列表的長(zhǎng)度
如果a不存在绩衷,則返回-1
對(duì)空列表不可用蹦魔,返回0
RPOPLPUSH
作用: 彈出右邊元素激率,添加到左邊,是一個(gè)原子操作, 返回彈出的元素
語法: RPOPLPUSH source destination
可以是同一個(gè)列表
source不存在時(shí)版姑,返回nil
BLPOP
作用:BLPOP是LPOP的阻塞版本,將第一個(gè)不為空的列表彈出
語法:BLPOP key [key...] timeout
timeout為0表示無限期等待
如果列表為空柱搜,則會(huì)在timeout時(shí)間之內(nèi)一直等待, 當(dāng)列表被添加之后剥险,會(huì)彈出此列表聪蘸,返回阻塞時(shí)間
支持多客戶端操作