NoSQL 資料庫之Redis資料結構詳解 三)

2021-08-19 19:43:47 字數 1440 閱讀 1441

注:此文原載於本人網易部落格,並加上工作日常總結完善,統一彙總於csdn部落格發布

【redis資料結構 – 簡介】

redis是一種高階的key:value儲存系統,其中value支援五種資料型別:

1.字串(strings)

字串型別是redis最基礎的資料結構,鍵是字串型別,其他幾種結構都是在字串型別基礎上構建的。

使用場景:

2.字串列表(lists)

列表型別是用來儲存多個有序的字串,列表中的每個字串成為元素(element),乙個列表最多可以儲存

2的32次方-1個元素,在redis中,可以隊列表兩端插入(pubsh)和彈出(pop),還可以獲取指定範圍的元素

列表、獲取指定索引下表的元素等,列表是一種比較靈活的資料結構,它可以充當棧和佇列的角色,

在實際開發中有很多應用場景。

優點:1.列表的元素是有序的,這就意味著可以通過索引下標獲取某個或某個範圍內的元素列表。

2.列表內的元素是可以重複的。

使用場景:

3.字串集合(sets)

集合型別也是用來儲存多個字串的元素,但和列表不同的是集合中不允許有重複的元素,並且集合中的元素是

無序的,不能通過索引下標獲取元素,redis除了支援集合內的增刪改查,同時還支援多個集合取交集、並集、

差集,並合理的使用好集合型別,能在實際開發中解決很多實際問題。

sadd=tagging(標籤)

spop/srandmember=random item(生成隨機數,比如**)

sadd+sinter=social graph(社交需求)

4.有序字串集合(sorted sets)

有序集合和集合有著必然的聯絡,他保留了集合不能有重複成員的特性,但不同得是,有序集合中的元素是可以

排序的,但是它和列表的使用索引下標作為排序依據不同的是,它給每個元素設定乙個分數(score),作為排序的依據。

(有序集合中的元素不可以重複,但是score可以重複,就和乙個班裡的同學學號不能重複,但考試成績可以相

同)。使用場景:

5.雜湊(hashes)

在redis中雜湊型別是指鍵本身又是一種鍵值對結構,如 value=,......}  

使用場景:

雜湊結構相對於字串序列化快取資訊更加直觀,並且在更新操作上更加便捷。

所以常常用於**使用者資訊**等管理,但是雜湊型別和關係型資料庫有所不同,雜湊型別是稀疏的,

而關係型資料庫是完全結構化的,關係型資料庫可以做複雜的關係查詢,而redis去模擬關係型複雜查詢

開發困難,維護成本高。

NoSQL資料庫之 Redis

redis是基於記憶體的nosql資料庫。前身是memcached,但是memcached不支援持久化,沒有豐富的資料型別。redis存放的資料是key values鍵值對。1 解壓 tar zxvf redis 3.0.5.tar.gz 預編譯,需要gcc環境。apt get install gc...

NoSql資料庫之redis資料庫簡介及安裝

一 redis資料庫簡介 redis是用c語言開發的乙個開源的高效能鍵值對 key value 資料庫。它通過提供多種鍵值資料型別來適應不同場景下的儲存需求,目前為止redis支援的鍵值資料型別如 下 1 字串型別 string 2 雜湊型別 hash 3 列表型別 list 4 集合型別 set ...

redis redis之nosql資料庫

not only sql,不僅僅值sql,而是一種全新的資料庫理論。可以理解為no relational,既非關係型性資料庫 關係型資料庫和非關係型資料庫不是對立,而是相輔相成的,nosql資料庫有特殊的結構,將資料庫儲存到記憶體裡面的,從效能的角度來講,nosql資料庫的效能優於關係型資料庫。從安...