1、Redis之List簡介spa
1. List是簡單的字符串列表,按照插入順序排列。命令行
2. 一個列表最多可存儲232-1個元素(40多億)。blog
2、Redis之List命令行操做索引
Lrange:獲取列表指定區間中的元素。0表示列表第一個元素,-1表示最後一個元素,-2表示倒數第二個元素。因此獲取列表全部元素命令爲:lrang list_name 0 -1。隊列
Lpush:將一個或多個值插入list頭部。rem
Rpush:將一個或多個值插入list尾部。字符串
若key不存在則先建立一個空列表,若key對應的值不是列表類型則報錯。bfc
Lpushx:將一個或多個值插入已存在的列表頭部,列表不存在時操做無效。List
Rpushx:將一個或多個值插入已存在的列表尾部,列表不存在時操做無效。搜索
Lpop:移除並返回列表的第一個元素。
Rpop:移除並返回列表的最後一個元素。
Blpop:移除並獲取列表的第一個元素。
Brpop:移除並獲取列表的最後一個元素。
若是列表沒有元素則會阻塞列表直到等待超時或發現可彈出元素爲止。
能夠發現,如果blpop或brpop命令指定的多個key中,存在key對應隊列有元素則會立刻彈出,並忽略不存在的key,不然會一直阻塞到超時或發現可彈出元素爲止。(這裏指定10秒超時)
Rpoplpush:移除列表中最後一個元素,將其插入另外一個列表頭部,並返回這個元素。
Brpoplpush:移除列表中最後一個元素,將其插入另外一個列表頭部,並返回這個元素。若是列表沒有元素則會阻塞列表直到等待超時或發現可彈出元素爲止。
Llen:返回列表長度。
Lindex:經過索引獲取列表中的元素。
Lset:經過索引設置列表中元素的值。如果索引超出範圍,或對一個空列表進行lset操做,則返回錯誤。
Linsert:在列表中指定元素前或後面插入元素。若指定元素不在列表中,或列表不存在時,不執行任何操做。
Lrem:根據參數count的值,移除列表中與參數value相等的元素。
count > 0 : 從表頭開始向表尾搜索,移除與value相等的元素,數量爲count。
count < 0 : 從表尾開始向表頭搜索,移除與value相等的元素,數量爲count的絕對值。
count = 0 : 移除表中全部與value相等的值。
Ltrim:對一個列表進行修剪,只保留指定區間的元素,其餘元素都刪除。