大话 Redis 数据结构
數據結構而非類型
Redis 有 5 種基本數據結構:
有很多文章都會說,Redis 支持 5 種常用的 數據類型,這其實存在很大的歧義。Redis 里存的都是二進制數據,其實就是字節數組 (byte[]),這些字節數據是沒有數據類型的,只有把它們按照合理的格式解碼后,可以變成一個字符串,數字或對象,此時才具有數據類型。
所以任何東西只要能轉化成字節數組 (byte[]),就可以存到 Redis 里,無論是字符串、數字、對象、圖片、聲音、還是其他文件。
string
Redis 里的數據結構 string 指的并不是字符串,它其實表示的是一種最簡單的,一個 key 只能對應一個 value 的數據結構。這里的 key 和 value 都是 byte 數組,只不過 key 一般是由一個字符串轉換成的 byte 數組,value 則根據實際需要而定。
在特定情況下,對 value 也會有一些要求,比如要進行自增或自減操作,那 value 對應的 byte 數組必須要能被解碼成一個數字才行。
value 是一個可變的字節數組,我們初始化字符串的內容,
list
那么 list 這種數據結構,其實表示一個 key 可以對應多個 value,且 value 之間是有先后順序的,value 值可以重復。
set
set 這種數據結構,表示一個 key 可以對應多個 value,且 value 之間是沒有先后順序的,value 值不可以重復。
hash
hash 這種數據結構,表示一個 key 可以對應多個 key - value,此時這些 key - value 對之間的先后順序一般意義不大,這是一個按照名稱語義來訪問的數據結構,而非位置語義。
zset
zset 又稱 sorted set,這種數據結構表示一個 key 可以對應多個 value,value 之間是有大小排序的,value 值不可以重復。每個 value 都和一個浮點數相關聯,該浮點數叫 score。元素排序規則是:先按 score 排序,再按 value 排序。
轉載于:https://juejin.im/post/5cb7c055e51d456e303db87b
總結
以上是生活随笔為你收集整理的大话 Redis 数据结构的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Visual studio 无法打开源文
- 下一篇: linux cmake编译源码,linu