鍊錶最基本的操作是向頭/尾插入/刪除資料。在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...