1.string 字符串
二進制安全的,可以包涵任何數據,jpg圖片or序列化對象;
string是redis最基本的類型,一個鍵最大存儲512M
2.set
set是string類型的一個無序集合,集合內數據不重復,set元素最大可以包含(2的32次方-1)個元素;set的是通過hash table實現的,所以添加,刪除,查找的復雜度都是O(1)
3.hash?
hash是key-value映射的結構,它的添加,刪除操作平均復雜度是O(1);hash節省內存的原因,是開辟hash一開始是是使用zipmap來存儲的,這個zipmap其實并不是hash table,可以節省不少hash本身需要的一些元數據存儲開銷;一個hash類型鍵最多可以包含2的32次方-1個字段。
hash-max-zipmap-entries 64 #配置字段最多64個
hash-max-zipmap-value 512 #配置value最大為512字節
4.list
list就是一個存儲string類型的雙向鏈表;push和pop的復雜度都是O(1),list會記錄鏈表長度,鏈表的最大長度是(2的32次方-1);list的特性導致它可以做棧,也可以做隊列;list有阻塞版本,可以避免輪訓查詢list隊列;
5.zset
zset就是set的有序集合,添加,刪除操作開銷都是O(log(N));比list更消耗內存;