天天看點

Redis memcache 差別

<a href="http://taotao1240.blog.51cto.com/731446/757904">http://taotao1240.blog.51cto.com/731446/757904</a>

1、 Redis和Memcache都是将資料存放在記憶體中,都是記憶體資料庫。不過memcache還可用于緩存其他東西,例如圖檔、視訊等等。

2、 資料類型--Memcache在添加資料時就要指定資料的位元組長度,例如:

  set key3 0 0 8

  lxsymcto

  STORED

而redis不需要,如:redis 127.0.0.1:6379&gt;set key2 "lxsymblog"

  OK

  redis 127.0.0.1:6379&gt;get key2

  "lxsymblog"

3、虛拟記憶體--Redis當實體記憶體用完時,可以将一些很久沒用到的value 交換到磁盤

4、過期政策--memcache在set時就指定,例如set key1 0 0 8,即永不過期。Redis可以通過例如expire 設定,例如expire name 10

5、分布式--設定memcache叢集,利用magent做一主多從;redis可以做一主多從。都可以一主一從

6、存儲資料安全--memcache挂掉後,資料沒了;redis可以定期儲存到磁盤(持久化)

7、災難恢複--memcache挂掉後,資料不可恢複; redis資料丢失後可以通過aof恢複

memcache

redis

類型

記憶體資料庫

資料類型

在定義value時就要固定資料類型

不需要

有字元串,連結清單,集 合和有序集合

虛拟記憶體

不支援

支援

過期政策

分布式

magent

master-slave,一主一從或一主多從

存儲資料安全

使用save存儲到dump.rdb中

災難恢複

append only file(aof)用于資料恢複

性能

mongoDB