《WordPress 與 Redis & Memcached》要點(diǎn):
本文介紹了WordPress 與 Redis & Memcached,希望對(duì)您有用。如果有疑問(wèn),可以聯(lián)系我們。
相關(guān)主題:memcache擴(kuò)展 / 鍵值KeyValue存儲(chǔ)數(shù)據(jù)庫(kù)
Memcached 是一種開(kāi)源的,高性能分布式內(nèi)存對(duì)象緩存系統(tǒng),本色上它是通用的,但最初的目的是通過(guò)減輕數(shù)據(jù)庫(kù)負(fù)載以加速動(dòng)態(tài)web應(yīng)用程序, 這也是它現(xiàn)今主要的用途.
Memcached 由 Brad Fitzpatrick為他的公司 Danga interactives 在 2003 年 5 月 22 日用 Perl 語(yǔ)言開(kāi)發(fā)而成,當(dāng)時(shí)它僅服務(wù)于作者的交友網(wǎng)站 LiveJournal .此后, Memcached 被 Anatoly Vorobey (它當(dāng)時(shí)被那個(gè)交友網(wǎng)站雇用了,現(xiàn)在他在 Google ) 用C語(yǔ)言重新編寫(xiě)后, 開(kāi)源后, Memcached 逐步發(fā)展為現(xiàn)代 Web 應(yīng)用程序重要的緩存組件, Memcached 現(xiàn)在由 Redis Labs (它創(chuàng)建和維護(hù) Memcached )幫助.
出道比擬早的 Memcached 簡(jiǎn)潔,高效,但其簡(jiǎn)單的數(shù)據(jù)類(lèi)型系統(tǒng)讓它在某些應(yīng)用場(chǎng)合下不那么合適.
Memcached 也采納 BSD 許可證.
Redis ( REmote DIctionary Server )是一個(gè)開(kāi)源的內(nèi)存數(shù)據(jù)庫(kù)系統(tǒng),它支持?jǐn)?shù)據(jù)持久化(也便是你可以把它存在內(nèi)存中的數(shù)據(jù) dump 到硬盤(pán)上,以備下次載入 Redis 時(shí)使用), 它支持多種抽象的數(shù)據(jù)結(jié)構(gòu)(字符串、列表、映射、集合、有序集合、位圖,空間索引等).
Redis 它由來(lái)自意大利西西里島卡塔尼亞的 Salvatore Sanfilippo (花名 antirez )在 2009 年創(chuàng)建,至今 antirez 仍是該項(xiàng)目的首席開(kāi)發(fā)者和唯一維護(hù)者.Redis 功能和數(shù)據(jù)布局比 Memcached 更加豐富,這讓它對(duì)數(shù)據(jù)的操作更加靈活, 但也使得它比 Memcached 更加復(fù)雜.
Redis 的性能與 Memcached 難分手足,某些情形下,甚至比 Memcached 更為高效.
Redis 也采納 BSD 許可證.
Couchbase是個(gè)NoSQL分布式的,支持SQL查詢(xún)的鍵值數(shù)據(jù)庫(kù), 它在NoSQL和分布式這個(gè)范疇內(nèi)最大的競(jìng)爭(zhēng)者是 MongoDB,它兼容 Memcached,阿里云的OCS ( ApsaraDB for Memcache )也兼容 Memcached 協(xié)議,Couchbase產(chǎn)品包括了CouchDB的一個(gè)副本, CouchDB 是一個(gè) Apache 基金會(huì)托管的開(kāi)源項(xiàng)目.
Membase (使用SQLite作為嵌入式存儲(chǔ)引擎,在 Couchbase 中,使用的是 Apache CouchDB )于2010年10月發(fā)布,是由Zynga、NorthScale與NHN聯(lián)合開(kāi)發(fā)的,NorthScale后來(lái)釀成了Membase Inc(現(xiàn)在 membase.com 這個(gè)域名已經(jīng)指向了 Couchbase.com).
2011年,CouchOne與Membase歸并了,成為了 Couchbase.
Couchbase 分三個(gè)版本:開(kāi)源版,社區(qū)版和企業(yè)版, 開(kāi)源版采納 Apache License 2.0 許可證, 社區(qū)版沒(méi)有聲明采納何種許可證,只是說(shuō)可以用在生產(chǎn)系統(tǒng)中,付費(fèi)版,你懂的.
據(jù)他們本身說(shuō),讀寫(xiě)性能優(yōu)于 Redis,只是它還在成長(zhǎng)進(jìn)化中,并且關(guān)注者寥寥無(wú)幾,不適合用作生產(chǎn)環(huán)境.
都把緩存層的數(shù)據(jù)放在內(nèi)存中;
都存儲(chǔ)鍵值數(shù)據(jù);
都屬于 NoSQL 家族;
數(shù)據(jù)類(lèi)型和數(shù)據(jù)管理
Redis 支持的數(shù)據(jù)類(lèi)型比 MemcacheD 更豐碩:
redis data types
緩存采用一種叫做數(shù)據(jù)驅(qū)逐的機(jī)制來(lái)從內(nèi)存中刪除舊的數(shù)據(jù),以便為新數(shù)據(jù)騰出空間.MemcacheD 的數(shù)據(jù)驅(qū)逐機(jī)制使用了一個(gè)LRU( 最近使用的: Least Recently Used )算法,并在一定程度上任意地將大小與新數(shù)據(jù)類(lèi)似的數(shù)據(jù)驅(qū)逐出去.相比之下,Redis則允許對(duì)驅(qū)逐政策進(jìn)行細(xì)粒度的控制,盡管選擇了六個(gè)不同的驅(qū)逐政策.Redis 還使用了更復(fù)雜的內(nèi)存管理和驅(qū)逐候選辦法.
流行度
Redis 最強(qiáng)年夜,最流行, Memcached 更小,功能更單調(diào), Couchbase 之類(lèi)打醬油的鍵值存儲(chǔ)系統(tǒng),就先按下不表吧,見(jiàn)谷歌趨勢(shì)所示:
Redis vs Memcached vs couchbase in 谷歌 trading
讀寫(xiě)機(jī)能
幾年以前, Memcached 的讀寫(xiě)性能一般來(lái)說(shuō)優(yōu)于 Redis, 如今, 它倆基本上旗鼓相當(dāng)了, 而且 Redis 的讀寫(xiě)性能要稍微優(yōu)于 Memcached:
redis vs memcached
在實(shí)際測(cè)試中, 當(dāng) client 為 32 時(shí), Redis 性能會(huì)顯著降落.
也可使用這個(gè)腳本進(jìn)行對(duì)照測(cè)試:
https://github.com/suifengtec/redis-memcached/blob/master/test.php
我的測(cè)試成果如下:
Redis multi set: 0.089952945709229Memcached multi set: 1.9566721916199Redis multi get: 0.092521190643311Memcached multi get: 0.86802196502686
內(nèi)存占用
由于 Redis 可處理復(fù)雜的數(shù)據(jù)布局,所以它在實(shí)際應(yīng)用中,在內(nèi)存占用上要優(yōu)于 Memcached.
數(shù)據(jù)持久化
內(nèi)存緩存系統(tǒng)的數(shù)據(jù)持久化可以理解為間隔指定時(shí)間或發(fā)生不測(cè)時(shí),嘗試將內(nèi)存中緩存的數(shù)據(jù) dump 到硬盤(pán)上,以備不時(shí)之需.
Memcached (至少如今還)不支持?jǐn)?shù)據(jù)持久化, Redis 是可以支持?jǐn)?shù)據(jù)持久化的.
規(guī)模較年夜的應(yīng)用場(chǎng)景
在緩存的數(shù)據(jù)項(xiàng)均較小時(shí), Memcached 優(yōu)于 Redis, 如果緩存的數(shù)據(jù)項(xiàng)均較年夜時(shí), Redis 優(yōu)于 Memcached.
能用 Redis 的話(huà),就不要用 Memcached 了, 真要用 Memcached, PHP 擴(kuò)大用 memcahced , 不要用 memcache .
本文首發(fā)今日頭條以及酷威普( coolwp.com ).
維易PHP培訓(xùn)學(xué)院每天發(fā)布《WordPress 與 Redis & Memcached》等實(shí)戰(zhàn)技能,PHP、MYSQL、LINUX、APP、JS,CSS全面培養(yǎng)人才。
轉(zhuǎn)載請(qǐng)注明本頁(yè)網(wǎng)址:
http://www.fzlkiss.com/jiaocheng/10665.html