<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>set key2 "lxsymblog"
OK
redis 127.0.0.1:6379>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