欢迎来到 常识词典网 , 一个专业的常识知识学习网站!

[ Ctrl + D 键 ]收藏本站

您所在的位置:首页 > 教育学习 > 为什么

为什么

MongoDB 或者 redis 可以替代 memcac-ed 吗?

分类: 为什么 常识词典 编辑 : 常识 发布 : 08-20

阅读 :334

MongoDB 或者 redis 可以替代 memcac-ed 吗?7 个答案

答案 1:

mongodb和memcac-ed不是一个范畴内的东西。mongodb是文档型的非关系型数据库,其优势在于查询功能比较强大,能存储海量数据。mongodb和memcac-ed不存在谁替换谁的问题。和memcac-ed更为接近的是redis。它们都是内存型数据库,数据保存在内存中,通过tcp直接存取,优势是速度快,并发高,缺点是数据类型有限,查询功能不强,一般用作缓存。在我们团队的项目中,一开始用的是memcac-ed,后来用redis替代。相比memcac-ed:1、redis具有持久化机制,可以定期将内存中的数据持久化到硬盘上。2、redis具备binlog功能,可以将所有操作写入日志,当redis出现故障,可依照binlog进行数据恢复。3、redis支持virtual memory,可以限定内存使用大小,当数据超过阈值,则通过类似LRU的算法把内存中的最不常用数据保存到硬盘的页面文件中。4、redis原生支持的数据类型更多,使用的想象空间更大。5、前面有位朋友所提及的一致性哈希,用在redis的s-arding中,一般是在负载非常高需要水平扩展时使用。我们还没有用到这方面的功能,一般的项目,单机足够支撑并发了。redis 3.0将推出cluster,功能更加强大。6、redis更多优点,请移步官方网站查询。

答案 2:

1.mongodb 和memcac-ed不具可比性,一个是基于磁盘的数据库,只是缓存热点数据数据在内存中,一个是全内存cac-e;2. memcac-ed支持过期策略,而mongodb仅有一个capped collection(适合存储日志)的策略可以丢弃先存储的历史数据;3. redis可以做cac-e,但redis更多是作为内存数据库的角色存在,且一致性哈希的实现还不成熟,如果memcac-ed已经能实现你的需求,没有必要采用不够成熟稳定的redis.

答案 3:

功能上可以,但是仅仅用来替代memcac-ed未免有点大材小用了,也不是作者最初设计的目的。

答案 4:

redis可以代替memcac-ed,并且在效率方面可能比memcac-ed更高一点。两者都是典型的key value store,且都是内存型数据库。由于redis可以持久化到文件系统,在缓存方面可以比memcac-ed做的更好。现在的项目中完全用redis取代了memcac-ed,效果良好。项目是rails的,使用redis-store代替memcac-e-store。

答案 5:

如果真要替代,那只能是redis了

答案 6:

MongoDB和memcac-ed完全是两类产品

答案 7:

mongodb和redis是作为数据库的, 并不是作为mc一样的缓存。应用领域不同。如果说用mongodb做缓存?太消耗磁盘空间了。据我实验感觉,频繁读写对于mongodb并不是优点。mongodb的优点是解决类似like "%%"这样的查询时候用的。至于redis可能是比较合适的替换工具了。但据我所知,redis有其数据库特性:日志,恢复等功能。单单从存储性能的角度来讲, 应该是不如mc的。个人感觉,mc是作为缓存而不是断电后存储用的。特性不同哦。

下一篇:创新是去抄袭美国的IDEA吗? 下一篇 【方向键 ( → )下一篇】

上一篇:我们不能站着就把用户需求给满足了? 上一篇 【方向键 ( ← )上一篇】