memcache和redis選擇 redis、memcache和mongodb各自的優(yōu)點(diǎn)是什么,怎么選擇呢?
redis、memcache和mongodb各自的優(yōu)點(diǎn)是什么,怎么選擇呢?Mongodb不應(yīng)該與redis/Memcache相比,因?yàn)樗鼈兊膽?yīng)用場(chǎng)景完全不同。Mongodb是介于內(nèi)存數(shù)據(jù)庫(kù)和關(guān)系數(shù)據(jù)庫(kù)
redis、memcache和mongodb各自的優(yōu)點(diǎn)是什么,怎么選擇呢?
Mongodb不應(yīng)該與redis/Memcache相比,因?yàn)樗鼈兊膽?yīng)用場(chǎng)景完全不同。
Mongodb是介于內(nèi)存數(shù)據(jù)庫(kù)和關(guān)系數(shù)據(jù)庫(kù)之間的數(shù)據(jù)庫(kù)。它是一個(gè)高性能、無(wú)模式的文檔數(shù)據(jù)庫(kù)。
Mongodb數(shù)據(jù)存儲(chǔ)在磁盤(pán)上。只有在必要時(shí),才會(huì)通過(guò)MMAP映射到內(nèi)存,并在內(nèi)存中進(jìn)行修改。修改后,操作系統(tǒng)負(fù)責(zé)刷新磁盤(pán)。
優(yōu)點(diǎn):支持復(fù)雜的數(shù)據(jù)結(jié)構(gòu),能存儲(chǔ)海量數(shù)據(jù),能提供關(guān)系數(shù)據(jù)庫(kù)等強(qiáng)大的查詢功能。
Redis是一個(gè)開(kāi)源的鍵值存儲(chǔ)系統(tǒng)。所有數(shù)據(jù)都存儲(chǔ)在內(nèi)存中。持久性處于RDB模式或AOF模式。只支持key、string、hash、list和set。優(yōu)點(diǎn):讀寫(xiě)速度非常快。缺點(diǎn):受內(nèi)存限制,不能存儲(chǔ)太多的數(shù)據(jù),不能提供強(qiáng)大的查詢功能,只能使用單核。
Memcache是一個(gè)高性能的分布式內(nèi)存對(duì)象緩存系統(tǒng),用于動(dòng)態(tài)web應(yīng)用程序以減少數(shù)據(jù)庫(kù)負(fù)載。Memcache只支持簡(jiǎn)單的鍵值結(jié)構(gòu),但使用多核。
在爬蟲(chóng)中,經(jīng)常使用redis mongodb的方式。Mongodb用來(lái)存儲(chǔ)被爬網(wǎng)的海量數(shù)據(jù),redis用來(lái)消除重復(fù)并保存被爬網(wǎng)的URL。
請(qǐng)問(wèn)什么叫做緩存?
從主題描述來(lái)看,應(yīng)該是指應(yīng)用軟件的數(shù)據(jù)緩存,它通常與網(wǎng)絡(luò)有關(guān),即將從網(wǎng)絡(luò)下載的數(shù)據(jù)臨時(shí)保存到硬盤(pán)上。一方面,需要找到一個(gè)地方臨時(shí)存儲(chǔ)數(shù)據(jù)進(jìn)行數(shù)據(jù)處理,另一方面,可以減少重復(fù)下載。當(dāng)應(yīng)用軟件關(guān)閉時(shí),如果沒(méi)有自動(dòng)清洗,那么它就成了可有可無(wú)的東西。你為什么這么說(shuō)?因?yàn)槿绻阆麓蜗螺d同樣的東西,應(yīng)用軟件可能會(huì)從臨時(shí)緩存中調(diào)用過(guò)去的數(shù)據(jù),或者它可能永遠(yuǎn)不會(huì)被使用,所以它就變成了垃圾。
由于緩存是臨時(shí)的,因此一旦相應(yīng)的應(yīng)用程序關(guān)閉,就可以隨時(shí)刪除它而不會(huì)造成傷害。如果應(yīng)用軟件功能完善,通常具有清洗功能。安全衛(wèi)士提供緩存清理功能,無(wú)論應(yīng)用軟件本身是否提供,都可以集中、方便地清理各類(lèi)應(yīng)用軟件的緩存垃圾。但畢竟,這不是最初的開(kāi)發(fā)人員提供的算法。當(dāng)然,它不能避免清理不清或錯(cuò)誤的風(fēng)險(xiǎn)。但根據(jù)經(jīng)驗(yàn),大公司生產(chǎn)的軟件相對(duì)可靠,對(duì)小白來(lái)說(shuō)非常實(shí)用、簡(jiǎn)單。甚至一些第三方清理也比原來(lái)的清理更徹底、更干凈(因?yàn)檐浖S商故意保留一些由于不同原因可以刪除的數(shù)據(jù),空間不足的用戶更關(guān)心垃圾占用的問(wèn)題)。
為什么要清理緩存垃圾?主要是因?yàn)檎加每臻g的問(wèn)題。在很長(zhǎng)一段時(shí)間之后緩存數(shù)據(jù)就更沒(méi)用了。既然垃圾至少占用了很差的空間容量,那就最好扔掉垃圾。其次,它會(huì)導(dǎo)致硬盤(pán)上小文件的增加,從而降低硬盤(pán)的效率。最后,如果我不扔掉垃圾我就不高興了。
其實(shí),安全軟件家族bucket的清洗功能并不是最專(zhuān)業(yè)的,普通的CCleaner比家族bucket更專(zhuān)業(yè),但是國(guó)外的軟件界面并不像國(guó)產(chǎn)軟件那么容易理解。