新聞中心
Redis是一個開源的,先進的key-value存儲,屬于非關(guān)系型緩存數(shù)據(jù)庫,通常被稱為數(shù)據(jù)結(jié)構(gòu)服務(wù)器。redis一共有五種基本的數(shù)據(jù)類型,String類型、hash類型、list類型以及set(無序集合)和zset(有序集合),本篇文章為大家分享一下List類型使用方法。

成都創(chuàng)新互聯(lián)公司-專業(yè)網(wǎng)站定制、快速模板網(wǎng)站建設(shè)、高性價比碌曲網(wǎng)站開發(fā)、企業(yè)建站全套包干低至880元,成熟完善的模板庫,直接使用。一站式碌曲網(wǎng)站制作公司更省心,省錢,快速模板網(wǎng)站建設(shè)找我們,業(yè)務(wù)覆蓋碌曲地區(qū)。費用合理售后完善,十載實體公司更值得信賴。
Redis列表是簡單的字符串列表,按照插入順序排序。你可以添加一個元素到列表的頭部(左邊)或者尾部(右邊)一個列表最多可以包含 232 – 1 個元素 (4294967295, 每個列表超過40億個元素)
常用命令
賦值
賦值語法:
LPUSH key value1 [value2] :將一個或多個值插入到列表的頭部(從左側(cè)添加)
RPUSH key value1 [value2] :在列表中添加一個或多個值(從右側(cè)添加)
LPUSH key value :將一個值插入到已存在的列表的頭部,如果列表不存在,操作無效
RPUSH key value :將一個值插入到列表的尾部(最右邊),如果列表不存在,操作無效
取值
取值語法: LLEN key :獲取列表長度 LINDEX key index :通過索引獲取列表中的元素 LRANGE key start stop :獲取列表指定范圍內(nèi)的元素
描述:返回列表中指定區(qū)間內(nèi)的元素,區(qū)間偏移量 START 和 END 指定
其中 0 表示列表的第一個元素,1 表示列表的第二個元素,以此類推
也可以使用負數(shù)下標,以 -1 表示列表的最后一個元素,-2表示列表的倒數(shù)第二個元素,一次類推
start:頁大?。摂?shù) -1)
stop:(頁大小頁數(shù))-1
刪除
刪除語法 LPOP key 移除并獲取列表的第一個元素(從左側(cè)刪除) RPOP key 移除列表的最后一個元素,返回值為移除的元素(從右側(cè)移除) BLPOP key1 [key2] timeout 移除并獲取列表的第一個元素,如果列表沒有元素會阻塞列表直到等待超時或發(fā)現(xiàn)可彈出元素為止; 實例: BLPOP list1 100 在以上實例中,操作會被阻塞,如果指定的列表key list1 存在數(shù)據(jù)則會返回第一個元素,否則在等待100秒后返回nil BRPOP key1 [key2] timeout 移除并獲取列表的最后一個元素,如果列表沒有元素會阻塞列表直到等待超時或發(fā)現(xiàn)可彈出元素為止; LTRIM key start stop 對一個列表進行修剪(trim),就是說,讓列表只保留指定區(qū)間內(nèi)的元素,不存在指定區(qū)間之內(nèi)的都將被刪除;
修改
修改語法: LSET key index value 通過索引設(shè)置列表元素的值 LINSERT key BEFORE|AFTER world value 在列表的元素前或者后插入元素,描述:將值value插入到列表key中,位于值world之前或之后;
高級指令
高級語法: RPOPLPUSH source destination 移除列表的最后一個元素,并將該元素添加到另一個列表并返回 實例描述: RPOPLPUSH a1 a2 a1的最后元素移到a2的左側(cè) RPOPLPUSH a1 a1 循環(huán)列表,將最后的元素移到最左側(cè) BRPOPLPUSH sorce destination timeout 從列表中彈出一個值,將彈出的元素插入到另外一個列表中并返回他;如果列表沒有元素會阻塞隊列直到等待超時或發(fā)現(xiàn)可彈出元素為止;
應(yīng)用場景
項目中常應(yīng)用于:1、對數(shù)據(jù)量大的集合數(shù)據(jù)刪減 2、任務(wù)隊列
1、對數(shù)據(jù)量大的集合數(shù)據(jù)刪減
列表數(shù)據(jù)顯示、關(guān)注列表、粉絲列表、留言評價等…分頁、熱點新聞(Top5)等
利用LRANGE還可以很方便的實現(xiàn)分頁的功能,在博客系統(tǒng)中,每篇博文的評論也可以存入一個單獨的list中;
2、任務(wù)隊列
list通常用來實現(xiàn)一個消息隊列、而且可以確保先后順序,不比像mysql那樣通過ORDER BY來進行排序
任務(wù)隊列介紹(生產(chǎn)者和消費者模式)
在處理web客戶端發(fā)送命令請求時,某些操作的執(zhí)行時間可能會比我們預期的更長一些,通過將待執(zhí)行任務(wù)的相關(guān)信息放入隊列里面,并在之后對隊列進行處理,用戶可用推遲執(zhí)行那些需要一段時間才能完成的操作,這種將工作交給任務(wù)處理器來執(zhí)行的做法被稱為任務(wù)隊列(task queue);
RPOPLPUSH source destination
移除列表的最后一個元素,并將該元素添加到另一個列表并返回
新聞名稱:Redis數(shù)據(jù)類型:List使用方法
本文路徑:http://fisionsoft.com.cn/article/dhcjjhg.html


咨詢
建站咨詢
