天天看點

1.資料類型redis學習入門redis中的資料結構

redis學習入門

Tags: redis

redis中的資料結構

關于keys的幾條規則 (沒有限制中的限制)

  • 太長的鍵值不是個好主意,例如1024位元組的鍵值就不是個好注意,不僅消耗記憶體,而且在資料中查找這類鍵值的計算成本很高。
  • 太短的鍵值通常也不是好主意,使用“u:1000:pwd”代替“user:1000:password”沒有什麼問題,但後者更易閱讀。根據業務需求,如果預計此類keys的資料量很大,使用簡化的第一種方案也是不錯的選擇。
  • 最好堅持一種模式。例如:”object-type🆔field”就是個不錯的注意,像這樣”user:1000:password”。我喜歡對多單詞的字段名中加上一個點,就像這樣:”commentreply.to”。
  1. 字元串(strings)
    普通的k-v鍵值對
{
    key1:value,
    key2:value,
    ....
}           
  1. 清單(List)

這種資料結構基于Linked List實作,常用來做隊列

優點:插入時複雜度相同

缺點:按索引讀取慢

{
    key1:[value1,value2,value3,...],    //json格式隻能使用數組方式表示
    key2:[value1,value2,value3,...],
    ...
}           
  1. 散列(hash)
    嵌套的k-v對
{
    key1:{
            key1:value1,
            key2:value2,
            ...
        },
    key2:{
            key1:value1,
            key2:value2,
            ...
        },
    ...
}           
  1. 集合(sets)
    value是集合類型,元素值都是唯一的,redis會自動去重,所有的value是無序排列的
{
    key1:[value1,value3,value2],    //集合裡面的元素不能重複
    key2:[value3,value2,value1],
    ...
}           
  1. 有序集合(Sorted sets)
    value是集合類型,元素值都是唯一的,redis會自動去重,所有的value是有序排列的
{
    key1:[value1,value2,value3],    //集合裡面的元素不能重複,且有序
    key2:[value1,value3,value3],
    ...
}