Redis的數據類型有哪些?有五種常用數據類型:String、Hash、Set、List、SortedSet。以及三種特殊的數據類型:Bitmap、HyperLogLog、Geospatial ,其中HyperLogLog、Bitmap的底層都是 String 數據類型,Geospatial 的底層是 Sorted Set 數據類型。
五種常用的數據類型:
1、String:String是最常用的一種數據類型,普通的key- value 存儲都可以歸為此類。其中Value既可以是數字也可以是字符串。使用場景:常規key-value緩存應用。常規計數: 微博數, 粉絲數。
2、Hash:Hash 是一個鍵值(key =》 value)對集合。Redishash 是一個 string 類型的 field 和 value 的映射表,hash 特別適合用于存儲對象,并且可以像數據庫中update一個屬性一樣只修改某一項屬性值。
3、Set:Set是一個無序的天然去重的集合,即Key-Set。此外還提供了交集、并集等一系列直接操作集合的方法,對于求共同好友、共同關注什么的功能實現特別方便。
4、List:List是一個有序可重復的集合,其遵循FIFO的原則,底層是依賴雙向鏈表實現的,因此支持正向、反向雙重查找。通過List,我們可以很方面的獲得類似于最新回復這類的功能實現。
5、SortedSet:類似于java中的TreeSet,是Set的可排序版。此外還支持優先級排序,維護了一個score的參數來實現。適用于排行榜和帶權重的消息隊列等場景。
三種特殊的數據類型:
1、Bitmap:位圖,Bitmap想象成一個以位為單位數組,數組中的每個單元只能存0或者1,數組的下標在Bitmap中叫做偏移量。使用Bitmap實現統計功能,更省空間。如果只需要統計數據的二值狀態,例如商品有沒有、用戶在不在等,就可以使用 Bitmap,因為它只用一個 bit 位就能表示 0 或 1。
2、Hyperloglog。HyperLogLog 是一種用于統計基數的數據集合類型,HyperLogLog 的優點是,在輸入元素的數量或者體積非常非常大
時,計算基數所需的空間總是固定 的、并且是很小的。每個 HyperLogLog 鍵只需要花費 12 KB 內存,就可以計算接近 2^64 個不同元素的基 數。
場景:統計網頁的UV(即Unique Visitor,不重復訪客,一個人訪問某個網站多次,但是還是只計算為一次)。
要注意,HyperLogLog 的統計規則是基于概率完成的,所以它給出的統計結果是有一定誤差的,標準誤算率是 0.81%。
3、Geospatial :主要用于存儲地理位置信息,并對存儲的信息進行操作,適用場景如朋友的定位、附近的人、打車距離計算等。
-
數據
+關注
關注
8文章
7241瀏覽量
91034 -
存儲
+關注
關注
13文章
4506瀏覽量
87083 -
Redis
+關注
關注
0文章
385瀏覽量
11325
發布評論請先 登錄
Redis數據類型介紹

windows 常見數據類型有哪些?
Python數據類型有幾種
Redis 五大數據類型使用場景有哪些
Redis基本數據類型有哪些
結構數據類型(Struct)及應用案例
Java基礎數據類型有哪些?
定義數據類型
PLC數據類型

評論