redis資料結構

2022-09-16 05:18:11 字數 1563 閱讀 4852

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

a.字串(string)

b.雜湊(hash)

c.字串列表(list)

d.字串集合(set)

e.有序字串集合(sorted set)

2.儲存string

字串型別是redis中最為基礎的資料儲存型別,它在redis中是二進位制安全的,這意味著該型別存入和獲取的資料相同。

賦值:set key value

getset key value  先取值再賦值

取值:get key

刪除:del key

3.儲存雜湊

redis中的雜湊型別可以看成具有string key 和string value的map容器,所以該型別非常適合用於儲存值物件的資訊

賦值:hset key field value  為指定的key設定field/value對

hmset key field value [field2 value2 .....]

取值:hget key field

hmget key field [field2 .....]

刪除:hdel key field [field2 .....]

4.儲存list

在redis中,list型別是按照插入順序排序的字串鍊錶。和資料結構中的普通鍊錶一樣,我們可以在其頭部(left)和尾部(right)新增新的元素。在插入時,如果該鍵並不存在,redis將為該鍵建立乙個新的鍊錶;與此相反,如果鍊錶中所有的元素均被移除,那麼該鍵也將會被從資料庫中刪除。

賦值:lpush key value [value1 value2 ....]  從left新增

rpush key value [value1 value2 ....]  從right新增

取值:lrange key start end  start(0)和end(-1)是下標

獲取list元素個數:

llen key

刪除:lrem key count value  刪除count個value元素

5.儲存set

在redis中,我們可以將set型別看作為沒有排序的字元集合,和list型別一樣,我們也可以在該型別的資料值上執行新增、刪除或判斷某一元素是否存在等操作。和list型別不同的是,set集合不允許出現重複的元素。

賦值:sadd key value [value1 value2 ....]

取值:smembers key

刪除:srem key value [value1 value2 ....]

6.儲存sortedset

sortedset和set型別很相似,都是字串的集合,主要差別是sortedset中的每乙個成員都會有乙個分數與之關聯,redis正是通過分數來為集合中的成員進行從小到大的排序

賦值:zadd key score value score1 value1...

取值:zscore key value  獲得指定成員的分數

查詢:zrange key 0 -1 withscores  根據權重查詢排序

刪除:zrem key value

Redis資料結構

字典 dict 是redis裡最核心的資料結構,正如其全稱remote dictionary service所說,redis其實就是乙個字典服務,字典以key value的形式呈現給使用者,key是簡單的字串,而value可以是各種資料結構,比如字串 string 鍊錶 list 集合 set 排序...

Redis 資料結構

最近接觸到了redis的使用,借這個機會深入的了解一下redis的實現和設計原理。下面先介紹一下redis底層所用到的資料結構。redis的實現幾乎都是基於下面的幾個資料結構之上的。struct sdshdr struct listnode struct list struct dictentry ...

redis 資料結構

今天學習了redis的列表型別 lpush ltrim lrange lpush mylist content ltrim 0,99 lrange 0,1 lrange 兩個引數 分別代表第乙個元素和最後乙個元素 redis的列表型別,可以用來做訊息佇列 使用乙個程序 用lpush命名作為生產者 使...