redis,memcache兩者的區別

Memcache和Redis區別:數據庫

  1. Redis中,並非全部的數據都一直存儲在內存中的,這是和Memcache相比一個最大的區別。
  2. Redis在不少方面具有數據庫的特徵,或者說就是一個數據庫系統,而Memcache只是簡單的K/V緩存。
  3. 他們的擴展都須要作集羣;實現方式:master-slave、Hash。
  4. 在100k以上的數據中,Memcache性能要高於Redis。
  5. 若是要說內存使用效率,使用簡單的key-value存儲的話,Memcached的內存利用率更高,而若是Redis採用hash結構來作key-value存儲,因爲其組合式的壓縮,其內存利用率會高於Memcache。固然,這和你的應用場景和數據特性有關。
  6. 若是你對數據持久化和數據同步有所要求,那麼推薦你選擇Redis,由於這兩個特性Memcache都不具有。即便你只是但願在升級或者重啓系統後緩存數據不會丟失,選擇Redis也是明智的。
  7. Redis和Memcache在寫入性能上面差異不大,讀取性能上面尤爲是批量讀取性能上面Memcache更強

共同點

Memcache,Redis 都是內存數據庫緩存

區別

Memcache數據結構

   Memcache能夠利用多核優點,單實例吞吐量極高,能夠達到幾十萬QPS,適用於最大程度扛量併發

    只支持簡單的key/value數據結構,不像Redis能夠支持豐富的數據類型。性能

    沒法進行持久化,數據不能備份,只能用於緩存使用,且重啓後數據所有丟失spa

Redis線程

    支持多種數據結構,如string,list,dict,set,zset,hyperloglog事務

    單線程請求,全部命令串行執行,併發狀況下不須要考慮數據一致性問題。內存

    支持持久化操做,能夠進行aof及rdb數據持久化到磁盤,從而進行數據備份或數據恢復等操做,較好的防止數據丟失的手段。同步

    支持經過Replication進行數據複製,經過master-slave機制,能夠實時進行數據的同步複製,支持多級複製和增量複製.

    支持pub/sub消息訂閱機制,能夠用來進行消息訂閱與通知。

    支持簡單的事務需求,但業界使用場景不多,並不成熟

相關文章
相關標籤/搜索