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命名作為生產者 使...