首頁  >  文章  >  後端開發  >  php面試題六之memcache和redis的差別

php面試題六之memcache和redis的差別

不言
不言原創
2018-04-18 09:47:265036瀏覽

這篇文章介紹的內容是關於php面試題六之memcache和redis的區別,有著一定的參考價值,現在分享給大家,有需要的朋友可以參考一下

Memcache和Redis區別:
*       Redis中,並不是所有的資料都一直儲存在記憶體中的,這是和Memcache相比一個最大的差異。
*       Redis在許多方面具備資料庫的特徵,或者說就是一個資料庫系統,而Memcache只是簡單的K/V快取。
*       他們的擴充都需要做叢集;實作方式:master-slave、Hash。
*       在100k以上的資料中,Memcache效能高於Redis。
*       如果要說內存使用效率,使用簡單的key-value存儲的話,Memcached的內存利用率更高,而如果Redis採用hash結構來做key-value存儲,由於其組合式的壓縮,其內存利用率會高於Memcache。當然,這和你的應用場景和資料特性有關。
*       如果你對資料持久化和資料同步有所要求,那麼推薦你選擇Redis,因為這兩個特性Memcache都不具備。即使你只是希望在升級或重新啟動系統後快取資料不會遺失,選擇Redis也是明智的。
*       Redis和Memcache在寫入效能上面差別不大,讀取效能上面尤其是批次讀取效能上面Memcache更強
共同點:Memcache,Redis 都是記憶體資料庫

區別:
Memcache
Memcache可以利用多核心優勢,單一實例吞吐量極高,可以達到幾十萬QPS,適用於最大程度扛量
只支援簡單的key/value資料結構,不像Redis可以支援豐富的資料類型。
無法進行持久化,資料不能備份,只能用於快取使用,且重新啟動後資料全部遺失

Redis
   支援多種資料結構,如string,list,dict,set,zset,hyperloglog
   單線程請求,所有命令串行執行,並發情況下不需要考慮資料一致性問題。
   支援持久化操作,可進行aof及rdb資料持久化至磁碟,進而進行資料備份或資料復原等操作,較好的防止資料遺失的手段。
aof的壓縮規則例如一個key添加再刪除就會過濾
支援透過Replication進行資料複製,透過master-slave機制,可以即時進行資料的同步複製,支援多層複製和增量複製.
支援pub/sub訊息訂閱機制,可以用來進行訊息訂閱與通知。
支援簡單的事務需求,但業界使用場景很少,並不成熟

Memcache和Redis區別:
*       Redis中,並不是所有的資料都一直儲存在記憶體中的,這是和Memcache相比一個最大的差別。
*       Redis在許多方面具備資料庫的特徵,或者說就是一個資料庫系統,而Memcache只是簡單的K/V快取。
*       他們的擴充都需要做叢集;實作方式:master-slave、Hash。
*       在100k以上的資料中,Memcache效能高於Redis。
*       如果要說內存使用效率,使用簡單的key-value存儲的話,Memcached的內存利用率更高,而如果Redis採用hash結構來做key-value存儲,由於其組合式的壓縮,其內存利用率會高於Memcache。當然,這和你的應用場景和資料特性有關。
*       如果你對資料持久化和資料同步有所要求,那麼推薦你選擇Redis,因為這兩個特性Memcache都不具備。即使你只是希望在升級或重新啟動系統後快取資料不會遺失,選擇Redis也是明智的。
*       Redis和Memcache在寫入效能上面差別不大,讀取效能上面尤其是批次讀取效能上面Memcache更強
共同點:Memcache,Redis 都是記憶體資料庫

區別:
Memcache
Memcache可以利用多核心優勢,單一實例吞吐量極高,可以達到幾十萬QPS,適用於最大程度扛量
只支援簡單的key/value資料結構,不像Redis可以支援豐富的資料類型。
無法進行持久化,資料不能備份,只能用於快取使用,且重新啟動後資料全部遺失

Redis
   支援多種資料結構,如string,list,dict,set,zset,hyperloglog
   單線程請求,所有命令串行執行,並發情況下不需要考慮資料一致性問題。
   支援持久化操作,可進行aof及rdb資料持久化至磁碟,進而進行資料備份或資料復原等操作,較好的防止資料遺失的手段。
aof的壓縮規則例如一個key添加再刪除就會過濾
支援透過Replication進行資料複製,透過master-slave機制,可以即時進行資料的同步複製,支援多層複製和增量複製.
支援pub/sub訊息訂閱機制,可以用來進行訊息訂閱與通知。
支援簡單的事務需求,但業界使用場景很少,並不成熟

相關推薦:

php面試題五之nginx如何呼叫php和php-fpm的作用與運作原理

php面試題四之實現autoload

#php面試題三之yii2和yii的不一樣的地方

以上是php面試題六之memcache和redis的差別的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn