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


咨詢
建站咨詢
