redis專題四 redis的資料型別之list

2022-07-12 04:45:13 字數 1426 閱讀 1217

一、基本介紹

對於list,它的儲存需求是什麼呢?對於string,講究單個,hash也不講究大量;當我們需要儲存多個資料的時候,前面的資料型別就不大合適了。

常見的幾種結構對比:

順序表:讀取快,插入慢

鍊錶:讀取慢,插入快,顯得不緊湊

對redis來說,採用雙向鍊錶,可以構建雙向操作的場景,有順序的概念。redis用於於具有操作先後順序的資料控制;

二、基本操作

功能命令

其他說明

新增修改資料

lpush key value1 value2...

rpush key value1 value2...

lpush是往左新增,rpush是往右新增;

返回list中元素的個數

獲得資料

lrange key start stop

lindex key index

llen key

注意索引是從0開始的;比方說有3個元素,我們的命令

應該是:lrang list1 0 2;如果不知道具體有多少個,可以

使用:lrang list1 0 -1    

是的,反著查,-1代表最後乙個元素

llen key返回長度

獲取並刪除資料

lpop key 

rpop key

返回拿出來的元素

三、擴充套件操作

3.1 阻塞資料獲取

功能命令

其他說明

規定時間內獲取並移除資料

blpop key [key2] timeout

brpop key [key2] timeout

相對前面的lpop,b代表的是block,阻塞的意思的意思是現在沒有,

不代表將來沒有,可以等,等多久呢,timeout(單位秒);

只要有,就立馬取出來;

多個key的意思是,只有其中乙個key有,就取;

這裡就可以聯想到我們任務佇列的實現

3.2 移除指定資料

如果取消點讚,移除對應好友資訊

功能命令

其他說明

移除指定資料

lrem key count value

rang的意思是:list的元素是可以重複的,移除的時候可以指定移除多個,

當然這裡移除點讚好友也只會有乙個了;返回成功刪除元素的個數

四、注意事項

這一節就到這裡,下一節寫資料型別之set。

Redis(四)redis的事務

可以一次執行多個命令,本質是一組命令的集合。乙個事務中的 所有命令都會序列化,按順序地序列化執行而不會被其它命令插入,不許加塞。乙個佇列中,一次性 順序性 排它性的執行一系列命令。開啟 以multi開始乙個事務 入隊 將多個命令入隊到事務中,接到這些命令並不會立即執行,而是放到等待執行的事務佇列裡面...

redis專題十六 redis的常見幾個解決方案

一 快取預熱 現象 伺服器啟動之後迅速宕機 分析 1 前期準備工作 2 準備工作 3 實施 二 快取雪崩 現象 系統平穩執行過程中,忽然資料庫連線量激增,應用伺服器無法及時處理請求,可能前端頁面也會崩潰,資料庫崩潰,緊接著應用伺服器崩潰,redis集群崩潰,即使重啟資料庫等之後再次瞬間被流程放倒。分...

Redis資料彙總專題

from 很多朋友反映,說nosqlfan上的資料 本篇為redis 部分的資料彙總。保持持續更新。使用redis bitmap進行活躍使用者統計 redis採用不同記憶體分配器碎片率對比 redis優化之網路延遲 redis 資料庫結構設計 使用redis的五個注意事項 利用redis構建高效的實...