Redis 是一種key-value內(nèi)存數(shù)據(jù)庫,速度相當快, 同時也支持數(shù)據(jù)存盤,redis 支持五種數(shù)據(jù)類型,String, List, Set, Hash, SortedSet(ZSet) , 同時支持Bitmap 和 HyperLoglogs(這兩種數(shù)據(jù)類型是基于String擴展出來的)
String
最大512M, 當value 可被識別為整數(shù)時,則支持整數(shù)操作 如INCR, DECR, INCRBY, 當可被識別為浮點數(shù)時,則支持浮點數(shù)一系列的操作,同時,String也可以用來作bitmap, 對應(yīng)的操作有 BITOP, BITPOS, GETBIT, SETBIT
List
最大長度為2^32-1, 支持左右端 插入和刪除元素,同時支持阻塞的POP操作,可用于模擬生產(chǎn)者,消費者場景
Set
無序,最大數(shù)量為2^32 - 1, 支持在server端對多個set進行交集, 并集等操作并生成新的Set
Hash
鍵值對,單一Hash最大容納2^32 -1 個鍵值對
ZSet
有序, set 中的每個value 有對應(yīng)的 score, 可用 ZRANGEBYSCORE 獲取一定范圍內(nèi)的value
Redis 可以做非常多的事,如高速緩存,發(fā)布訂閱,分布式鎖
同時Redis也有很高的容錯處理 (snapShot , AOF, 主從架構(gòu)), 和水平擴展能力 (shard)
關(guān)于這些會在之后進行介紹