Django与tornado的区别
1.django:
-是基于单进程多线程的同步web框架;
-一个接口慢,不会影响其他接口;
-Django调一个接口就会开启一个线程;
-缺点:在请求量大,高并发的情况下,占用资源大,因为要频繁创建线程,开销大;
-优点:大而全,MVC支持;
-自带ORM,serilizer,migrate;
-豪华游轮,设置齐全
2.tornado
-是单进程单线程基于协程的异步框架;
-要是一个接口慢,高并发的情况下,会导致其他接口也慢;
-所有接口都是一个线程,会分发到每个协程去做;
-tornado里面写同步代码,就会阻塞线程,导致所有的接口变慢;
-没有ORM,没有权限处理,需要自己写;
-快艇,速度快
OAuth
原理:
单点登录:多个站点公用一台认证授权服务器。用户经由其中一个站点登录后,可以免登陆访问其他所有站点
多点登录:一个公司有多个网站,浏览器用户在每次登录不同的网站的时候,都需要输入账号密码
权限控制:
Memcache
1、Redis和Memcache都是将数据存放在内存中,都是内存数据库。不过memcache还可用于缓存其他东西,例如图片、视频等等;
2、Redis不仅仅支持简单的k/v类型的数据,同时还提供list,set,hash等数据结构的存储;
3、[虚拟内存]--Redis当物理内存用完时,可以将一些很久没用到的value 交换到磁盘;
4、过期策略--memcache在set时就指定,例如set key1 0 0 8,即永不过期。Redis可以通过例如expire 设定,例如expire name 10;
5、分布式--设定memcache集群,利用magent做一主多从;redis可以做一主多从。都可以一主一从;
6、存储数据安全--memcache挂掉后,数据没了;redis可以定期保存到磁盘(持久化);
7、[灾难恢复]--memcache挂掉后,数据不可恢复; redis数据丢失后可以通过aof恢复;
8、Redis支持数据的备份,即master-slave模式的数据备份;
SEO
(Search Engine Optimization):汉译为搜索引擎优化。是一种方式:利用搜索引擎的规则提高网站在有关搜索引擎内的自然排名。
图床
图床一般是指储存图片的服务器,有国内和国外之分。国外的图床由于有空间距离等因素决定访问速度很慢影响图片显示速度。国内也分为单线空间、多线空间和cdn加速三种。
vps
virtual private server 虚拟专用服务器
haystack
whoosh
纯Python的全文搜索库,Whoosh是索引文本及搜索文本的类和函数库。它能让你开发出一个个性化的经典搜索引擎。
相关安装包:pip install django-haystack/whoosh/jieba
还有其他的搜索引擎:solr、elastic search
函数重载
重载函数常用来实现功能类似而所处理的数据类型不同的问题。不能只有函数返回值类型不同。