Django中缓存的使用 文章目录一、服务器缓存策略1、多种级别的缓存(1)数据库级别的缓存(2)将数据缓存到服务器内存中(3)文件系统级的缓存2、以数据库级缓存为例进行测试(1)创建缓存表(2)Django中对缓存表的使用(3)测试缓存是否配置成功3、数据库级缓存-局部缓存(缓存api)(1)局部缓存的概念(2)缓存api的使用二、浏览器缓存策略1、强缓存(1)响应头-Expires(2)响应头-Cache-Control2、协商缓存(1)Last-Modified(2)Etag一、服务器缓存策略缓存定义:缓存是一类可以更快的
列表查找算法 一、查找算法相关概念什么是查找?在一些数据元素中,通过一定方法找出与给定关键字相同的数据元素的过程什么是列表(线性表)查找?从列表中查找指定元素,输入列表和待查找元素,输出元素下表(未找到元素时一般返回None或-1)二、顺序查找和二分查找常见列表查询算法:顺序查找、二分查找内置的列表查找函数:index(),index()是线性查找,因为列表不一定是有序的,内置的方法为了普适,所以用的是线性查找1、顺序(线性)查找从列表第一个元素开始,顺序进行搜索,直到找到元素或搜索到列表最后一个元素为
递归问题以及递归应用 一、递归概念1、递归的两个重要特点:调用自身结束条件2、递归的两种情况下面四段代码分别分析一下def func1(x): print(x) func1(x-1)这是一个错误的递归,因为没有结束条件def func2(x): if x > 0: print(x) func2(x + 1)这也是一个错误的递归,有条件,但这不是一个结束条件def func3(x): if x > 0: print(x)
算法的时间复杂度和空间复杂度 文章目录一、时间复杂度1、时间复杂度衡量标准2、时间复杂度易被误判的情况3、常见时间复杂度对应的效率排序4、快速判断算法的时间复杂度二、空间复杂度一、时间复杂度1、时间复杂度衡量标准时间复杂度是用来估计算法运行时间的一个式子,它也可以看做是代码执行时间中的估量单位下面代码中的n一般被描述为问题的规模pint('Hello World')时间复杂度:O(1)O(1)O(1)for i in range(n): print('Hello World')时间复杂度:O(n)O(
C/C++程序调试 文章目录一、源码debug二、二进制debug1、gdb调试过程2、gdb基本命令三、补充core文件的配置一、源码debugC语言的debug有两种形式,一种是源码debug,一种是可执行代码debug源码形式的debug,可以使用printf()打印出程序中间过程的一些关键信息,比如某些变量而可执行文件的debug,需要使用调试器(gdb)来进行追踪源代码的debug类似于下面的形式,在程序中添加printf打印关键变量,通过打印信息,来定位bug出现的位置,然后再修改源码#include
学习笔记(八):FIREWALL配置与使用 防火墙借助硬件和软件在内部和外部网络之间产生一种保护屏障,防火墙配置好且启用的情况下,将是不同网络或网络安全域之间信息的唯一出入口,能够设置安全策略控制网络的信息流,保障内部网络的安全。本文对防火墙原理以及防火墙工具做了介绍
Openstack--horizon分析 一、Horizon概念Horizon是基于django webframework开发的标准的Python wsgi程序,django的设计专注于代码的高度可重用,信奉DRY原则,一切面向对象,而Horizon可以说高度match了django的设计风格。网站程序基本有三部分组成,业务逻辑代码(Python),静态文件(js/css),模板(Python中的 jinja,mako,nodejs中有jade), 用户向webserver发起请求之后,server程序找到当前url对应的模板,填充模板变量(输出