-
Redis
数据类型丰富
支持持久化
支持主从
支持分片
支持事物,比较弱
3.0后支持集群 主要是主从 -
memcache
支持简单数据类型
不支持持久化
不支持主从
不支持分片 -
redis 和 mongodb对比
MongoDB更类似Mysql,支持字段索引、游标操作,其优势在于查询功能比较强大,擅长查询JSON数据,能存储海量数据,但是不支持事务。(4.0后支持事物)
Mysql在大数据量时效率显著下降,MongoDB更多时候作为关系数据库的一种替代。
-
内存管理机制
Redis数据全部存在内存,定期写入磁盘,当内存不够时,可以选择指定的LRU算法删除数据。
MongoDB数据存在内存,由linux系统mmap实现,当内存不够时,只将热点数据放入内存,其他数据存在磁盘。
-
支持的数据结构
Redis支持的数据结构丰富,包括hash、set、list等。MongoDB数据结构比较单一,但是支持丰富的数据表达,索引,最类似关系型数据库,支持的查询语言非常丰富。
-
性能
二者性能都比较高,应该说都不会是瓶颈。 -
可靠性
二者均支持持久化。 -
集群
MongoDB集群技术比较成熟,Redis从3.0开始支持集群。 -
事物
Redis 事务支持比较弱,只能保证事务中的每个操作连续执行
mongodb 在4.0后支持事务