redis學習之三 Link

2021-08-20 09:26:57 字數 1265 閱讀 9673

鍊錶最基本的操作是向頭/尾插入/刪除資料。在redis的鍊錶中包括左left右right操作,左代表頭,右代表尾。

1、插入、刪除操作

lpush number 1 2 3 4 5  (此時number的結構是:5-->4-->3-->2-->1)

rpush number 1 2 3 4 5  (此時number的結構是:1-->2-->3-->4-->5)

(3)刪除鍊錶頭部結點:lpop key

lpop number

(4)刪除鍊錶尾部結點: rpop key

2、返回鍊錶中[start ,stop]中的元素:lrange key start stop

規律: 左數從0開始,右數從-1開始;返回number中所有的結點:lrange number  0 -1

3、刪除鍊錶中乙個或多個value值:lrem key count value

注: 刪除count的絕對值個value後結束,若煉表中沒有count個就都刪掉結束。count>0 從表頭開始刪除 count<0 從表尾開始刪除

例如:chars 鍊錶結構:  a-->b-->c-->a-->d-->e-->a-->f-->g

lrem chars -2 a   (chars變為: a-->b-->c-->d-->e-->f-->g )

lrem chars 4 a   (chars變為: b-->c-->d-->e-->f-->g )

規律: 左數從0開始,右數從-1開始;但是不能倒著取

例子: number的結構是:1-->2-->3-->4-->5  ; ltrim number 1 -1       number變為: 2-->3-->4-->5 

ltrim number -1 -3 此種是不行的

5、返回index索引上的值:lindex key index

6、計算鏈結表的元素個數:llen key

7、在鍊錶value1前或後插入乙個value2:linsert  key after|before value1 value2  (不會插入多個value2)

number的結構是:1-->2-->3-->4-->5 :    linsert  number after 5 6    number為:1-->2-->3-->4-->5-->6

8、把source的尾部拿出,放在dest的頭部:rpoplpush source dest

9、等待彈出key的尾/頭元素:brpop ,blpop  key timeout

timeout為等待超時時間,如果timeout為0,則一直等待

Redis 快取之三

我們在set key 的時候,都可以給定乙個expire time,就是過期時間,指定這個key 比如說只能存活乙個小時,那麼快取到期就會失效 定性刪除 指的是redis預設的每隔100ms就會隨機的抽取一些設定了過期時間的key,檢查是否過期,如果過期了就會刪除,但是問題是,定期刪除會導致很多過期...

redis列表系列之三

目錄 blpop brpop brpoplpush 1.語法 blpop key key timeout 2.解析 blpop的列表的阻塞式彈出原語。它是lpop命令的阻塞版本,當給定列表內沒有任何元素可供彈出的時候,連線將被blpop命令阻塞,直到等待超時或被發現可彈元素為止。當給定多個key引數...

Redis學習總結之 三 資料型別

redis的資料型別 redis是支援多種型別的,不僅僅是簡單的key value的所謂的字串型別,它支援的型別有五種,分別是 string hash list set zset.注 命令用紅色表示關鍵字 命令符 key用藍色表示,value用綠色表示 一 string型別 redis的key va...