随笔分类 - Django
摘要:elasticsearch Elasticsearch是一个基于Lucene的搜索服务器,也是属于NoSQL阵营的数据库。它提供了一个分布式多用户能力的全文搜索引擎,基于RESTful web接口提供给我们操作的。Elasticsearch是用Java语言开发的,并作为Apache许可条款下的开放源
阅读全文
摘要:一 锁 行级锁 select_for_update(nowait=False, skip_locked=False) #注意必须用在事务里面,至于如何开启事务,我们看下面的事务一节。 返回一个锁住行直到事务结束的查询集,如果数据库支持,它将生成一个 SELECT ... FOR UPDATE 语句。
阅读全文
摘要:对称加密和非对称加密 1 概念 A 和 B 要把他们的通信内容加密, 如果A/B使用相同的加密解密key,那这就是 对称加密。 对称加密最大的问题就是A和B之间的加密/解密key必须是唯一的。也就是如果A和C 要加密通信,同时还不想让C知道A/B之间的通信内容。那么A/C之间的加密/解密用的key就
阅读全文
摘要:cookie,session,token 发展史 1、很久很久以前,Web 基本上就是文档的浏览而已, 既然是浏览,作为服务器, 不需要记录谁在某一段时间里都浏览了什么文档,每次请求都是一个新的HTTP协议, 就是请求加响应, 尤其是我不用记住是谁刚刚发了HTTP请求, 每个请求对我来说都是全新的。
阅读全文
摘要:一 什么是HTTP协议 HTTP协议是Hyper Text Transfer Protocol(超文本传输协议)的缩写,是用于从万维网服务器传输超文本到本地浏览器的传送协议。HTTP 是基于 TCP/IP 协议通信协议来传递数据(HTML 文件、图片文件、查询结果等)。它不涉及数据包(packet)
阅读全文
摘要:一 前言 1 我在实例化一个user对象的时候,可以user=User(name='lqz',password='123') 2 也可以 user=User() user['name']='lqz' user['password']='123'3 也可以 user=User() user.name=
阅读全文
摘要:一 Ajax简介 1.简介 AJAX(Asynchronous Javascript And XML)翻译成中文就是“异步的Javascript和XML”。即使用Javascript语言与服务器进行异步交互,传输的数据为XML(当然,传输的数据不只是XML,现在更多使用json数据)。 AJAX 不
阅读全文
摘要:orm 性能相关 第一步:创建表 class Student(models.Model): name = models.CharField(max_length=32) classes = models.ForeignKey('Class',) class Class(models.Model):
阅读全文
摘要:一 web框架的本质及自定义web框架 我们可以这样理解:所有的Web应用本质上就是一个socket服务端,而用户的浏览器就是一个socket客户端,基于请求做出响应,客户都先请求,服务端做出对应的响应,按照http协议的请求协议发送请求,服务端按照http协议的响应协议来响应请求,这样的网络通信,
阅读全文
摘要:1. 出现莫名其妙的 app01 我项目中的app名字并不是app01,可是运行python manage.py makemigrations的时候总是提示app01不是已安装的app Applying admin.0003_auto_20180701_0233...Traceback (most
阅读全文
摘要:# Celery Celery是一个python第三方模块,是一个功能完备即插即用的分布式异步任务队列框架。它适用于异步处理问题,当大批量发送邮件、或者大文件上传, 批图图像处理等等一些比较耗时的操作,我们可将其异步执行,这样的话原来的项目程序在执行过程中就不会因为耗时任务而形成阻塞,导致出现请求堆
阅读全文
摘要:一、COOKIE 与 SESSION 1、简介 1、cookie不属于http协议范围,由于http协议无法保持状态,但实际情况,我们却又需要“保持状态”,因此cookie就是在这样一个场景下诞生。 cookie的工作原理是:由服务器产生内容,浏览器收到请求后保存在本地;当浏览器再次访问时,浏览器会
阅读全文
摘要:一、ORM性能优化 能用values,就别用对象进行查询 非要用对象的时候使用 select_related 主动连表 prefetch_related 子查询 only只拿某个字段,defer排出字段 1、利用标准数据库优化技术 传统数据库优化技术博大精深,不同的数据库有不同的优化技巧,但重心还是
阅读全文
摘要:一 缓存 由于Django是动态网站,所有每次请求均会去数据进行相应的操作,当程序访问量大时,耗时必然会更加明显,最简单解决方式是使用:缓存,缓存将一个某个views的返回值保存至内存或者memcache中,5分钟内再有人来访问时,则不再去执行view中的操作,而是直接从内存或者memcache中之
阅读全文
摘要:Django之数据库主从复制、读写分离和一主多从情况下的使用办法 1. 首先配置多个数据库,在settings配置文件中配置以下内容: DATABASES = { 'default': { #默认数据库,配置多个mysql数据也是ok的,混用数据库也是ok的 'ENGINE': 'django.db
阅读全文