初識Redis

Redis簡介
  • Redis支持數據的持久化,可以將內存中的數據存儲到磁盤中,重啓的時候可以再次加載使用
  • Redis不僅支持Key-Value類型的數據,還支持list,set,zset,hash等數據結構的存儲
  • Redis支持數據的備份,即master-slave模式的數據備份
Redis優勢
  • 性能極高:讀的速度110000次/秒,寫的速度81000次/秒
  • 豐富的數據類型:支持二進制案例的String,list,hash,set和Ordered Set數據類型操作
  • 原子:Redis的所有操作都是原子性的,同時Redis還支持對幾個操作合併後的原子性執行
  • 豐富的特性:支持publish/subscribe,通知key過期等特性
Redis與其他Key-Value存儲的不同:
  • Redis有着更爲複雜的數據結構且提供對他們的原子性操作,這是一個不同於其他數據庫的進化路徑。Redis的數據類型都是基於基本數據結構的同時對程序員透明,無需進行額外的抽象。既可以作爲主數據庫(primary database)使用,又可以作爲其他存儲系統的輔助數據庫(auxiliary database)使用
  • Redis運行在內存中但是可以持久化到磁盤,所以在對不同數據集進行高速讀寫時需要權衡內存,應爲數據量不能大於硬件內存。在內存數據庫方面的另一個優點是,相比在磁盤上相同複雜的數據結構,在內存中操作起來非常簡單,這樣Redis可以做很多內部複雜性很強的事情。同時,在磁盤格式方面,他們是緊湊的以追加的方式產生的,因爲他們並不需要進行隨機訪問。
  • Redis實現主從複製特性:執行復制的從服務器會連接上主服務器,接收主服務器發送的整個數據庫的初始副本;之後主服務器執行的寫命令,都會被髮送給所有連接着的從服務器去執行,從而實時的更新從服務器的數據集。因爲從服務器包含的數據會不斷的進行更新,所以客戶端可以向任一從服務器發送讀請求,以此來避免對主服務器進行集中式的訪問。
五種數據結構
  • String(字符串)、List(列表)、Set(集合)、Zset(有序集合)、Hash(散列)
  • 對五種數據結構都有效的命令:typerenamedel
String
  • set:設置String值,set key value
  • get: 獲取key對應的value,get key
  • del: 刪除key、value鍵值對
List
  • lpush、rpush:左端、右端放入String
  • lpop、rpop:左端、右端彈出String
  • lindex:用於獲取列表在給定位置上的一個元素
  • lrange:用於獲取在給定範圍上的所有元素
Set
  • sadd:將元素添加到集合
  • srem: 從集合裏面移除元素
  • sismember: 快速檢查一個元素是否在集合中
  • smembers: 獲取集合包含的所有元素(若元素過多,該命令速度可能會很慢)
  • sinter、sunion、sdiff:集合的交集、並集、差集
Hash
  • hset:設置散列鍵值對,hset map key value
  • hget:獲取散列鍵值對,hget map key
  • hgetall:獲取所有的鍵值對
  • hdel:刪除指定的鍵值對
Zset
  • zadd:帶有指定分值的成員添加到有序集合裏,zadd zset 1.2 member1
  • zrange:獲取多個元素,按照分數的大小升序
  • zrangescore:獲取給定分值範圍內的所有元素
  • zrem:如果給定成員存在於有序集合,移除該元素

Redis官網:https://redis.io/
測試Redis API:https://try.redis.io/

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章