簡(jiǎn)評(píng):Redis是一個(gè)開(kāi)源,高級(jí)的鍵值存儲(chǔ)和一個(gè)適用的解決方案,用于構(gòu)建高性能,可擴(kuò)展的Web應(yīng)用程序。
特點(diǎn):
1、Redis將其數(shù)據(jù)完全保存在內(nèi)存中,僅使用磁盤(pán)進(jìn)行持久化。
2、與其他鍵值數(shù)據(jù)存儲(chǔ)相比,Redis有一組相對(duì)豐富的數(shù)據(jù)類(lèi)型。
3、Redis可以將數(shù)據(jù)復(fù)制到任意數(shù)量的叢機(jī)中。
Redis的優(yōu)點(diǎn)
1、異???/strong>(大約11w/s的SET操作,8w1/s的GET操作)
2、支持豐富的數(shù)據(jù)類(lèi)型(例如字符串、列表、集合、排序集、散列)
3、操作具有原子性 所有的Redis操作都是原子操作,這確保如果兩個(gè)客戶端并發(fā)訪問(wèn),Redis服務(wù)器能接收更新的值。
4、多實(shí)用工具,Redis是一個(gè)多實(shí)用工具,可用于多種用例。(緩存、消息隊(duì)列(Redis本地支持發(fā)布/訂閱)、應(yīng)用程序中任何短期數(shù)據(jù))
Redis與其他鍵值存儲(chǔ)系統(tǒng)
1、Redis是鍵值數(shù)據(jù)庫(kù)系統(tǒng)的不同進(jìn)化路線,它的值可以包含更復(fù)雜的數(shù)據(jù)類(lèi)型,可以在這些數(shù)據(jù)類(lèi)型上定義原子操作。
2、Redis是一個(gè)內(nèi)存數(shù)據(jù)庫(kù),但在磁盤(pán)數(shù)據(jù)庫(kù)上是持久的,因此它代表了一個(gè)不同的權(quán)衡,在這種情況下,在不能大于存儲(chǔ)器(內(nèi)存)的數(shù)據(jù)集的限制下實(shí)現(xiàn)非常高的寫(xiě)和讀速度。
3、內(nèi)存數(shù)據(jù)庫(kù)的另一個(gè)優(yōu)點(diǎn)是,它與硬盤(pán)上的相同數(shù)據(jù)結(jié)構(gòu)相比,復(fù)雜數(shù)據(jù)結(jié)構(gòu)在內(nèi)存中存儲(chǔ)表示更容易操作。因此Redis可以做很少的內(nèi)部復(fù)雜性。
常用操作指令:
DEL key(刪除key)、DUMP key(返回key的序列化版本)
EXISTS key(檢查key是否存在)、
EXPIRE key Seconds(設(shè)置key過(guò)期時(shí)間)、
EXPIREAT key timestamp(這是key在指定時(shí)間過(guò)期,Unix時(shí)間格式)、
KEYS pattern(查找指定條件匹配的所有鍵)、
MOVE key db(將key移動(dòng)到另一個(gè)數(shù)據(jù)庫(kù))、
PERSIST key(刪除key的過(guò)期時(shí)間)、
PTTL key(獲取key的剩余過(guò)期時(shí)間)、
RANDOM key(從Redis返回一個(gè)隨機(jī)的鍵)、
RENAME key newkey(修改key名稱(chēng))、
TYPE key(返回存儲(chǔ)在鍵中的數(shù)據(jù)類(lèi)型)