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操做,使得新添加的元素做爲起始元素。3d
eg:指針
將鏈表當作總體,進行Rpush操做,使得新添加的元素做爲末位元素。code
eg:blog
eg:排序
eg:
eg:
經過索引範圍讀取範圍內的數據信息
eg:
eg:
eg:
eg:
eg:
eg:
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,望技術有成後能回來看見本身的腳步