Python教程分享:Redis和Memcache的區別?

老男孩IT教育機構發表於2021-06-07

  Redis和Memcache的區別?Redis即遠端字典服務,是一個開源的使用ANSI C語言編寫的、支援網路、可基於記憶體亦可持久化的日誌型、Key-Value資料庫,提供多種語言的API;Memcache是一套分散式的快取記憶體系統,被許多網站使用,接下來我們一起來看看更詳細的內容介紹。

  1. Redis和Memcache都是將資料存放在記憶體中,都是記憶體資料庫,不過Memcache還可以用於快取其他東西,比如圖片、影片等;

  2. Redis不僅僅支援簡單的K/V型別的資料,同時還提供list、set、hash等資料結構的儲存;

  3. 虛擬記憶體-Redis當物流記憶體用完時,可以將一些很久的沒用的Value交換到磁碟;

  4. 過期策略-Memcache在set時就指定,比如set key 1008,即永不過期,Redis可以透過例如expire設定,例如expire name10;

  5. 分散式-設定Memcache叢集,利用magent做一主多從,redis可以做一主多從,都可以一主一從;

  6. 儲存資料安全-Memcache掛掉後,資料沒了,redis可以定期儲存到磁碟;

  7. 災難恢復-Memcache掛掉後,資料不可恢復,redis資料丟失後可以透過aof恢復;

  8. Redis支援資料的備份,即master-slave模式的資料備份;

  9. 應用場景不一樣,Redis除了作為nosql資料庫使用外,還能用做訊息佇列,資料堆疊和資料快取等;Memcache適合於快取sql語句,資料集,使用者臨時性資料,延遲查詢資料和session等;

  10. 如果有持久化方面的需求或者對資料型別和處理有要求的應該選擇Redis;如果簡單的key/value儲存應該選擇Memcache。


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69952527/viewspace-2775809/,如需轉載,請註明出處,否則將追究法律責任。

相關文章