初探Redis-基礎類型List

  Redis存在五種基礎類型:字符串(String)、列表(List)、哈希(Hash)、集合(Set)、有序集合(Sorted Set)。本次列舉出List的經常使用操做。java

  Redis官網:https://redis.io/ git

 

1、列表(List)介紹redis

  Redis列表是簡單的字符串列表,按照插入順序排序。能夠添加一個元素到列表的頭部(左邊)或者尾部(右邊)。一個列表最多能夠包含 232 - 1 個元素 (4294967295, 每一個列表超過40億個元素)。可按照以下格式查看,總體爲鏈式結構,c語言中,鏈表功能十分強大,經過指針取得內部存儲地址,再經過內部存儲地址去取得實際數據(具體怎麼操做已還給老師)。能夠方便的完成先進先出,先進後出等功能。網站

   

 

2、列表(List)相關操做Apispa

  •  LPush添加數據

  

  將鏈表當作總體,進行Lpush操做,使得新添加的元素做爲起始元素。3d

  

  eg:指針

  

  • RPush添加數據

  

  將鏈表當作總體,進行Rpush操做,使得新添加的元素做爲末位元素。code

  

  eg:blog

  

  • 限定key存在執行添加數據

  

  eg:排序

   

  • List中指定索引處插入數據替換原有數據

  

  eg:

   

  • 對List中匹配的數據前或後插入新數據

   

  

  eg:

    

  • 讀取List中索引範圍內已有數據

  

  經過索引範圍讀取範圍內的數據信息

   

   eg:

  

  • 讀取List中指定索引下已有數據

  

  eg:

   

  • 獲取List中數據總數

  

  eg:

  

  • 移除List前部數據

  

  

  eg:

  

  • 移除List尾部數據 

   

   

  eg:

  

  • 精簡List只保留索引範圍內數據

  

   eg:

   

  • 移除List中指定數量的匹配數據

  

  eg:

  

  • 等待匹配數據直到獲取或超時

   

  eg:

  

  • 從列表中移除並移入新列表

  

   eg:

  

  • 等待從列表中移除並移入新列表直至成功或超時

  

   eg:

  

 

3、列表(List)簡單應用場景

  以哈希用法時的文章列表爲例,網站首頁分頁展現文章信息,而展現前先從list中取得分頁後的文章Id集合再從Hash中獲取文章概要信息並展現。

一、初始列表數據添加一些種子數據

service.ListLeftPush("blogId", "9527");
service.ListLeftPush("blogId", "9528");
service.ListLeftPush("blogId", "9529");
service.ListLeftPush("blogId", "9530");
...

二、模擬增長一條數據並裁剪已有的種子數據集合使得整體數量在給定範圍內。

service.ListLeftPush("blogId", "9547");
service.ListRange<string>("blogId", 0, 20);//一個list最多2的32次方-1,範圍外的被移除

三、模擬分頁獲取,從Redis-List中取出等量數據並打印展現。

var page = 1;
var size = 10;
var blogIdsPagedResult = service.ListRange<string>("blogId", (page - 1) * size, page * size - 1);

四、運行效果,達到預想功能。

 

  

 倉庫地址:https://gitee.com/530521314/Partner.TreasureChest.git(RedisOperate文件夾)

2020-05-24,望技術有成後能回來看見本身的腳步
相關文章
相關標籤/搜索