redis、memcache和mongodb各自的优点是什么,怎么选择呢?

谢邀
redis、memcahce 比较相似,但与 mongodb 完全不同,几乎没有可比性。
总的来说 redis/memcache 是基于内存的,讲究的是性能,多用作缓存层,比如说存放session。而 mongodb 是

本文最后更新时间:  2023-03-24 03:37:15

搬运自己的答案,mongodb不应和redis/memcache比较,因为两者的适用场景是完全不同的。

mongodb是一款介于内存数据库和关系数据库的数据库,是高性能、无模式的文档型数据库。

mongodb数据存储在磁盘,只有在需要时通过mmap映射到内存,在内存中修改,修改完毕由操作系统负责flush到磁盘。

优点:支持复杂的数据结构,能存储海量的数据,能提供类似关系数据库般强大的查询。

redis是一个开源的key-value存储系统,所有数据都是放在内存中的,持久化是使用RDB方式或者aof方式。仅支持key、string、hash、list、set几种结构,优点:读写速度非常快。缺点:受内存限制无法存储过多的数据,也无法提供强大的查询,只使用单核。

memcache是一个高性能的分布式内存对象缓存系统,用于动态Web应用以减轻数据库负载。memcache仅支持简单的key-value结构,但使用多核。

在爬虫中,经常采用redis+mongodb的方式,Mongodb用于存储爬取的海量的数据,而redis则用于去重和保存待爬取的url。

温馨提示:内容均由网友自行发布提供,仅用于学习交流,如有版权问题,请联系我们。