Redis memcache 区别

引用:http://lxsym.blog.51cto.com/1364623/856468

http://taotao1240.blog.51cto.com/731446/757904

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

原文地址:https://www.cnblogs.com/sode/p/2771726.html