python
python与java的对比
- Java语言面向对象语言,Python语言结合了函数式编程和面向对象语言。
- java是静态语言,python是动态语言。
- java单继承,python多继承。
静态语言与动态语言
强类型语言(静态类型语言)是指需要进行变量/对象类型声明的语言,一般情况下需要编译执行。
弱类型语言(动态类型语言)是指不需要进行变量/对象类型声明的语言,一般情况下不需要编译(但也有编译型的)。动态类型语言是在运行时确定数据类型的语言。
Flask
Flask介绍
- Flask 是一个使用 Python 编写的轻量级 Web 应用程序框架,让我们可以使用Python语言快速实现一个网站或Web服务。
- 默认依赖两个外部库:jinja2(模板引擎)和Werkzeug WSGI(web服务网关接口)工具。
Flask与Django对比
- Flask 与关系型数据库的结合不弱于Django,而与非关系型数据库的结合远远优于Django。轻量级,适用于做小型网站以及web服务的API。
- Django重量级web框架,功能齐全,提供一站式解决的思路。整体封闭性比较好,适合做企业级网站的开发。
Flask MTV
M:model,模型,数据模型
V:view,视图,负责数据展示
C:controller,控制器,负责业务逻辑的处理
M:model,模型,就是数据模型
T:templates,模板,负责数据展示
V:view function,视图函数,负责业务逻辑的处理
MongoDB
MongoDB介绍
- 面向文档存储的非关系型数据库。
- 采用BSON存储文档数据,BSON是一种类json的一种二进制形式的存储格式。
- 集合相当于表,文档相当于行,字段相当于列。
为什么MongoDB索引使用B树而MySQL是B+树
MongoDB 是文档型的数据库,是一种 nosql,它使用类 Json 格式保存数据,不需要存储关系。使用B树,所有节点都有Data域,只要找到指定索引就可以进行访问,无疑单次查询平均快于Mysql。
Mysql作为一个关系型数据库,数据的关联性是非常强的,B+树区间访问快。
MongoDB的劣势
- MongoDB不支持事务。
- MongoDB锁只有Collection(集合–表)级别。
- MongoDB索引功能不够强大。
MongoDB的优势
- MongoDB可以将热点数据加载到内存,提高了在IO上效率。MySQL在单表数据量超过500万后,性能就会下降的比较快,虽然可以通过分表的方式进行处理,但是随着时间的增长,仍然会带来比较大的麻烦。
- 自动分片,数据库的分片集群负载具有非常好的扩展性。
- 非常不错的自动故障转移(Fail-over)。