Redis實戰解讀
一.初識Redis
1.什么是Redis
? Redis是一個速度非常快的非關系型資料庫(non-relational database),它可以存盤鍵(key)與五種不同型別的值的映射(mapping),可以將存盤在記憶體的鍵值對資料持久化到磁盤,可以使用復制特性來擴展讀性能,也可以采用客戶端分片來擴展寫性能,--《Redis實戰》
2.Redis與其他資料庫的對比
? 與memcached對比:Redis能夠存盤包括字串型別的共計五種資料型別的鍵值,而memcached只能存盤普通的字串型別的鍵值,
二.Redis中的資料結構
Redis支持String(字串),List(串列),Set(集合),Hash(散列),Zset(有序集合)共計五種資料型別以存盤鍵值,接下來,我們將分別去討論這五種資料型別
(我們將在Linux系統進行演示,如何在Linux系統上安裝并運行Redis,請參照https://redis.io/docs/getting-started/installation/install-redis-on-linux/)
1.String(字串)
字串的內容可以是字串,整數或者是浮點數,因此,字串可以進行字串相關的操作,以及數值型的自加自減操作,
相當于其他資料型別而言,字串型別的內容較為簡單,這里以代碼過之,
相關方法說明:
向資料庫中添加一個key-value: set key value
獲取資料庫中指定key的value: get key
洗掉資料庫中指定的key: del key
2.List(串列)
Redis中的鏈表結構能夠順序存盤多個字串,其中,鏈表中的每一個節點均代表著一個字串
代碼演示:
相關方法說明:
rpush key value:從左側向key對應的鏈表插入一個value元素,并回傳添加的元素的value值
lpush key value:從右側向key對應的鏈表插入一個value元素,并回傳添加的元素的value值
rpop key:從左側洗掉key對應的鏈表的一個元素,并回傳洗掉的元素的value值
lpop key:從右側洗掉key對應的鏈表的一個元素,并回傳洗掉的元素的value值
lindex key index :獲取串列上指定(從右側數)index處的元素的value值
lrange key startIndex endIndex:獲取從startIndex索引到endIndex索引之間(即[startIndex,endIndex]區間上的元素)的元素的元素值
注意:當startIndex = 0,endIndex = -1,則表示獲取整個鏈表內的所有元素,
? index是從0開始計數,
3.Set(集合)
與List資料型別不同的是,Set不能存盤多個相同的字串值,也就是說,其存盤的元素值具有唯一性,此外,其存盤順序也是不定的,即元素存盤的順序與插入順序沒有關系,
相關方法說明:
sadd key value : 向指定key的集合中添加一個值為value的元素,成功回傳1,失敗回傳0
srem key value : 向指定key的集合中洗掉一個值為value的元素,成功回傳1,失敗回傳0
smembers key : 獲取指定key的集合中的全部元素
sismember key value :確定指定元素value是否存在于key的集合中,存在則回傳1,不存在則回傳0
4.Hash(散列)
Redis中的散列用于存盤多個鍵值對之間的映射,類似于Java中的Map資料型別,
相關方法說明:
hset key sub_key sub_value : 向指定key的集合中添加 sub_key 與sub_value的鍵值映射,插入成功回傳1,失敗回傳0
hget key sub_key : 獲取指定key的集合中的sub_key對應的值,存在sub_key的關系映射,則回傳相對應的值,不存在回傳nil
hdel key sub_key : 洗掉指定key的集合中的sub_key的鍵值映射
hgetall key : 獲取指定key集合中的全部鍵值映射,注意:結果是以key1,value1,key2,value2,.......交替展示
5.Zset(有序集合)
與Set一樣,該種資料型別也是用于存盤唯一性的鍵值的,與前者不同的是,后者在鍵值的基礎上還添加了一個與之系結的分數值(score),因此你可以依據score值去獲取相應的value值,并且也可以查詢指定score范圍內的相對應的key值,
相關方法說明:
zadd key score item : 向指定key的有序集合中添加一個分數為score 的item元素,插入成功回傳1,失敗回傳0
zrem key item : 洗掉指定key的有序集合中的指定item元素,洗掉成功回傳1,失敗回傳0
zrange key startIndex endIndex [withscores] : 獲取指定key的有序集合中的索引介于起始索引startIndex與結束索引endIndex之間的元素,添加withscores則回傳的結果中為item與score的交替展示
zrangebyscore key minScore maxScore [withscores]: 獲取指定key的有序集合中的分數值介于minScore與maxScore之間的元素值,添加withscores則回傳的結果中為item與score的交替展示
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/552583.html
標籤:NoSQL
下一篇:返回列表