1 回答

TA貢獻(xiàn)1820條經(jīng)驗(yàn) 獲得超2個(gè)贊
不適合引子:
在大數(shù)據(jù)時(shí)代,總希望存在一個(gè)Key-value存儲(chǔ)機(jī)制,像HashMap一樣在內(nèi)存中處理大量(千萬(wàn)數(shù)量級(jí))的key-value對(duì),以便提高數(shù)據(jù)查找、修改速度。
所以,我們會(huì)想到,Memcached和Redis這兩個(gè)NoSQL數(shù)據(jù)庫(kù)(嚴(yán)格來(lái)講二者都不可以算作數(shù)據(jù)庫(kù))。
1、Memcached是一個(gè)cache機(jī)制,當(dāng)內(nèi)存不足時(shí)會(huì)采用LRU機(jī)制,替換出陳舊數(shù)據(jù),因此他不能保證我們的數(shù)據(jù)像在HashMap中一樣不丟失,且沒(méi)有數(shù)據(jù)持久化機(jī)制;
2、Redis克服了這一缺點(diǎn),采取磁盤(pán)存儲(chǔ)機(jī)制實(shí)現(xiàn)數(shù)據(jù)持久化。但是,當(dāng)數(shù)據(jù)量達(dá)到1千萬(wàn)左右時(shí),由于內(nèi)存中不能存儲(chǔ)如此大量數(shù)目的數(shù)據(jù),頻繁同磁盤(pán)進(jìn)行數(shù)據(jù)交換,導(dǎo)致數(shù)據(jù)查詢(xún)、存儲(chǔ)性能的急劇下降,將導(dǎo)致服務(wù)不可用。
結(jié)論:當(dāng)前還沒(méi)有好的產(chǎn)品可以實(shí)現(xiàn)key-value保證數(shù)據(jù)完整性,千萬(wàn)級(jí)條數(shù)量級(jí)的,高效存儲(chǔ)和查詢(xún)支持產(chǎn)品。
附錄一:如下是轉(zhuǎn)自其它網(wǎng)友的測(cè)試數(shù)據(jù):
附錄二:memcached 和redis的比較,和各自用途
附錄一:
從圖中可以猜測(cè)到還會(huì)有Redis 2.2.1 的測(cè)試,相同的測(cè)試環(huán)境,1K的數(shù)據(jù)量,使用ServiceStack.Redis客戶(hù)端進(jìn)行如下測(cè)試:
1) Set操作
2) Get操作
3) Del操作
每一套測(cè)試分別使用三個(gè)配置進(jìn)行測(cè)試:
1) 綠色線條的是開(kāi)啟Dump方式的持久化,5分鐘持久化一次
2) 藍(lán)色線條是開(kāi)啟AOF方式的持久化,每秒寫(xiě)入磁盤(pán)一次
3) 紅色線條是關(guān)閉任何的持久化方式
對(duì)于每一個(gè)配置都使用相同的其他配置:
1) 開(kāi)啟VM 最大內(nèi)存10GB(128字節(jié)一
- 1 回答
- 0 關(guān)注
- 4174 瀏覽
添加回答
舉報(bào)