一鸿市、介紹
Redis是C語言開發(fā)的一個開源的(遵從BSD協(xié)議)高性能鍵值對(key-value)的內(nèi)存數(shù)據(jù)庫,可以用作數(shù)據(jù)庫、緩存、消息中間件等壁却。它是一種NoSQL(not-only sql权悟,泛指非關(guān)系型數(shù)據(jù)庫)的數(shù)據(jù)庫峦阁。
Redis 與 其他 key - value 緩存產(chǎn)品有以下三個特點(diǎn):
Redis 支持?jǐn)?shù)據(jù)持久化,可以將內(nèi)存中的數(shù)據(jù)保存在磁盤中,重啟的時候可以再次加載進(jìn)行使用怔檩。
Redis 不僅僅支持簡單的 key - value 類型的數(shù)據(jù),同時還提供 list,set趋箩,zset,hash 等數(shù)據(jù)結(jié)構(gòu)的存儲
Redis 支持?jǐn)?shù)據(jù)的備份,即 master - slave 模式的數(shù)據(jù)備份
————————————————
二吓歇、優(yōu)勢
性能極高: Redis 讀的速度是 110000 次 /s, 寫的速度是 81000 次 /s 孽水。
豐富的數(shù)據(jù)類型: Redis 支持二進(jìn)制案例的 Strings, Lists, Hashes, Sets 及 Ordered Sets 數(shù)據(jù)類型操作。
原子性:Redis 的所有操作都是原子性的城看,意思就是要么成功執(zhí)行要么失敗完全不執(zhí)行女气。單個操作是原子性的。多個操作也支持事務(wù)析命,即原子性主卫,通過 MULTI 和 EXEC 指令包起來。
其他特性:Redis 還支持 publish/subscribe 通知鹃愤,key 過期等特性簇搅。
————————————————
三、數(shù)據(jù)類型
1.String软吐、2.hash? 3.list 4.set? 5.zset??
四瘩将、Redis單線程為什么這么快?
redis使用了I/O多路復(fù)用技術(shù)凹耙,底層封裝了多路復(fù)用方法姿现,優(yōu)先使用epoll,如果編譯環(huán)境不支持epoll則使用select作為兜底方案肖抱。可以在單臺服務(wù)器上部署多個redis實(shí)例备典。