缺点:不支持热备份,但可通过binlog日志进行同步;不支持自定义数据类型;对 xml 支持不够良好,但此基本上可以忽略,目前很少见到 xml 的使用 。redis,优点:读写性能优异,选择的最大理由;支持数据持久化,支持 AOF 和 RDB 两种持久化方式;支持主从复制,可以进行读写分离;数据结构丰富;缺点:不具备自动容错和恢复功能,主机从机宕机导致客户端请求失败;主机宕机,宕机前有部分数据未能及时同步到从机,切换 IP 后还会引入数据不一致的问题,降低了系统的可用性;Redis 的主从复制采用全量复制,网络波动时可能进行全量的数据复制,对集群造成压力;Redis 较难支持在线扩容,在集群容量达到上限时在线扩容比较复杂 。
MongoDB,优点:弱一致性(最终一致),更能保证用户的访问速度;文档结构的存储方式,能够更便捷的获取数;高效存储二进制大对象 (比如照片、视频、消息等);与其他的NoSQL相比第三方支持丰富;缺点:不支持事务操作;占用空间过大;成熟的维护工具较为欠缺 。个人感觉,redis 适用于数据变化快且数据库大小可预见(适合内存容量)的业务场景,其适合做关系型数据库的中间层 。
redis是个单线程的程序,为什么会这么快呢?具体是快在哪里呢?
REDIS是个K-V结构的内存数据库,基于hash的内存查找是非常快的,不受磁盘IO性能的影响;其次,REDIS采用了异步非阻塞IO模型,这个性能比同步阻塞IO要好很多;再次,REDIS采用了自己实现的ae_event,没有锁,比通用的libevent性能要更好一些;最后,单线程的优势在于,不用频繁切换线程上下文,也没有各种多线程需要的数据安全的消耗 。
推荐阅读
- 电池容量有多大,苹果xr电池容量
- 小米六配置参数,网上购物用淘宝
- EMUI是什么意思,emui是什么意思
- 为什么联通物联卡网速慢 家里网速慢怎么办
- 3.27为什么这么坑
- 狗狗交流分享综合门户,泰迪狗老爱睡觉为什么
- 狗为什么会干咳,狗狗为什么会咳嗽
- 蝾螈不吃东西是什么原因,为什么蝾螈不吃食
- 猫伸舌头是为什么,猫咪为什么吐舌头
- 赶集网个人二手车吕梁,为什么新的赶集网没有二手车二手房页面