cookie和session
cookie
cookie的使用方法
设置cookie
from django.shortcuts import render,HttpResponse
def set_cookie(request):
在HTTPResponse部分设置COOKIE值
cookie_reponse = HttpResponse(‘这是一个关于cookie的测试’) cookie_reponse.set_cookie(‘test’,’hello cookie’) return cookie_repo ...
python花式读取大文件(10g/50g/1t)遇到的性能问题(面试向)首页 - Python /2019-07-12
最近无论是面试还是笔试,有一个高频问题始终阴魂不散,那就是给一个大文件,至少超过10g,在内存有限的情况下(低于2g),该以什么姿势读它?
所有人都知道,用python读文件有一套”标准流程“:
12345678def retrun_count(fname): """计算文件有多少行 """ count = 0 with open(fname) as file: for line in file: ...
redisRedis 是完全开源免费的,遵守BSD协议,是一个高性能的key-value数据库。
Redis 与其他 key - value 缓存产品有以下三个特点:
Redis支持数据的持久化,可以将内存中的数据保存在磁盘中,重启的时候可以再次加载进行使用。
Redis不仅仅支持简单的key-value类型的数据,同时还提供list,set,zset,hash等数据结构的存储。
Redis支持数据的备份,即master-slave模式的数据备份。
服务端命令和客户端命令
服务端命令:
redis-server
服务端命令:
redis-cli –raw 连接redis
数据库没 ...
Vue.js(读音 /vjuː/, 类似于 view) 是一套构建用户界面的渐进式框架。Vue 只关注视图层, 采用自底向上增量开发的设计。
Vue 的目标是通过尽可能简单的 API 实现响应的数据绑定和组合的视图组件。
版本(2.9.6)
中文文档:
https://cn.vuejs.org/v2/guide/syntax.html
项目仓库:https://gitee.com/QiHanXiBei/newvue
安装流程
1234567891011121314151617181920212223242526272829303132333435363738394041424344454647 ...
Tornado入门Tornado概述Python的Web框架种类繁多(比Python语言的关键字还要多),但在众多优秀的Web框架中,Tornado框架最适合用来开发需要处理长连接和应对高并发的Web应用。Tornado框架在设计之初就考虑到性能问题,通过对非阻塞I/O和epoll(Linux 2.5.44内核引入的一种多路I/O复用方式,旨在实现高性能网络服务,在BSD和macOS中是kqueue)的运用,Tornado可以处理大量的并发连接,更轻松的应对C10K(万级并发)问题,是非常理想的实时通信Web框架。
扩展:基于线程的Web服务器产品(如:Apache)会维护一个线程池来处理用 ...
django中使用原生sql在Django中使用原生Sql主要有以下几种方式:
一:extra:结果集修改器,一种提供额外查询参数的机制
二:raw:执行原始sql并返回模型实例
三:直接执行自定义Sql
(
这种方式完全不依赖model,前两种还是要依赖于model
)
实例:
使用extra:
1:Book.objects.filter(publisher__name=’广东人员出版社’).extra(where=[‘price>50’])
Book.objects.filter(publisher__name=’广东人员出版社’,price__gt=50)
2:Book.objec ...
正则
一些特殊符号及文本组合在一起的用来描述字符或字符串的一些规则,叫做正则
正则中的特殊符号
匹配一个范围: []
[A-Z]:A, B, C…
[0-9]:1, 2, 3…
匹配任何数字字符:\d
\d:1, 2, 3…
匹配任何空白符:\s
\s:\t (水平制表), \v (垂直制表), \n (换行), \r (回车), \f (换页)
匹配任何数字、字母、字符及下划线:\w
\w: a, 1, _
匹配除了换行符任意一个单个字符:.
a.c:abc, a2c, a_c
..:匹配任意字符组成的两个长度的字符串
匹配前面出现的正则表达式0次或多次:** ...
装饰器函数
装饰器:在函数运行时增加功能且不影响这个函数原有内容
普通装饰器函数语法:
123@func1def func2(): pass
@符号为装饰器函数语法,也常叫做语法糖
先来看一个简单的装饰器函数实现:
1234567891011def wai(func):#装饰器函数,参数部分接收一个函数对象 def nei():#闭包函数 print('this is nei') #要添加的功能 return func()#返回接收到的函数func return nei #返回闭包函数#在func2()执行的时候,会将func()也执行@waidef foo(): print('t ...
vi 和vim 的区别它们都是多模式编辑器,不同的是vim 是vi的升级版本,它不仅兼容vi的所有指令,而且还有一些新的特性在里面。
vim的这些优势主要体现在以下几个方面:1、多级撤消我们知道在vi里,按 u只能撤消上次命令,而在vim里可以无限制的撤消。
2、易用性
vi只能运行于unix中,而vim不仅可以运行于unix,windows ,mac等多操作平台。
3、语法加亮vim可以用不同的颜色来加亮你的代码。
4、可视化操作就是说vim不仅可以在终端运行,也可以运行于x window、 mac os、 windows。
5、对vi的完全兼容某些情况下,你可以把vim当成vi来使用。
v ...
1、前言Redis是一种高级key-value数据库。它跟memcached类似,不过数据可以持久化,而且支持的数据类型很丰富。有字符串,链表,集 合和有序集合。支持在服务器端计算集合的并,交和补集(difference)等,还支持多种排序功能。所以Redis也可以被看成是一个数据结构服务 器。Redis的所有数据都是保存在内存中,然后不定期的通过异步方式保存到磁盘上(这称为“半持久化模式”);也可以把每一次数据变化都写入到一个append only file(aof)里面(这称为“全持久化模式”)。
由于Redis的数据都存放在内存中,如果没有配置持久化,redis重启后数据就全丢失了,于 ...
