更多python、Linux、网络安全学习内容,可移步:www.oldboyedu.com或关注\"老男孩Linux\"公众号
分类: Python/Ruby
2021-04-09 15:19:05
Redis和MongoDB都是NOSQL数据库,采用结构型数据存储,在学习Python的过程中,我们也会接触到这方面的知识,那么你知道Redis和MongoDB各具有怎样的优劣势吗?我们一起来了解一下吧。
Redis优缺点介绍:
优点:
读写性能优异支持数据持久化;支持AOF和RDB两种持久化方式支持主从复制;
主动会自动将数据同步到从机,可以进行读写分离;
数据结构丰富,支持string、hash、set、sortedset、list等数据结构。
缺点:
Redis不具备自动容错和恢复功能,主机从机的宕机都会导致前端部分读写请求失败,需要等待机器重启或者手动切换前端的ip才能恢复。主机宕机,宕机前有部分数据未能及时同步到从机,切换ip后还会引入数据不一致的问题,降低系统可用性。
Redis的主机从复制采用全量复制,复制过程中主机会fork出一个子进程对内存做一份快照,并将子进程的内存快照保存为文件发送给从机,这一过程需要确保主机有足够多的空余内存。
Redis较难支持在线扩容,在集群容量达到上限时在线扩容会变得很复杂,为避免这种问题,运维人员在系统上线时必须确保有足够的空间,这对资源造成了很大的浪费。
Mongo DB优缺点介绍:
优点:
弱一致性,更能证明用户的访问速度;
文档结构的存储方式,能够更便捷的获取数;
内置GridFS,高效存储二进制大对象,比如照片和视频;
支持复制集、主备、互动主备、自动分片等特性;
动态查询、全索引支持、扩展到内部对象和内嵌数组。
缺点:
不支持事务;
MongoDB占用空间过大;
维护工具不够成熟。