2019独角兽企业重金招聘Python工程师标准>>>

1.织梦的工作原理:
  a.模板引擎;
  b.内核文件的载入、读取;
  运行原理:url->配置文件->公共函数文件->处理逻辑->模板引擎->展示;(公共函数文件、处理逻辑和模板引擎就是织梦的核心)

2.标准的MVC框架运行流程:程序首先从单人口文件开始运行,然后依次载入内核文件(同时开始各种的初始化)、配置、类和动作(在这之前已经载入了模板引擎),运行到业务层,业务层又会给类和动作,最后才展示出来。

3.关于缓存:
  a.缓存类型:
  按缓存类型划分:内存缓存、文件缓存、数据库缓存;
  按缓存周期划分:永久缓存(长期缓冲)、周期缓存、临时缓存。
  b.缓存的生成:
  函数文件会生成缓存;各种业务逻辑、数据也会生成缓存。
  c.缓存在什么条件下回重新生成:
  信息(数据库)的更改——30分钟一次;
  模板的更改——立刻更新;
  函数文件,业务逻辑的更改——立刻更新;
  关闭缓存——所有的文件都及时生成,立即更改。

4.文件缓存:每一个文件都一个属性,用MD5(哈希值)来唯一标示,生产的哈希值由文件的大小、类型、创建时间、修改时间等等属性确定生成:当其中任何一个发生变化时,其对应的MD5值就会发生变化。故文件是否发生变化由其MD5值是否发生变化来判断。
  注:每一数字,字符,文件都有自己的MD5值,而MD5有16位和32位两种,16位的是从32的第9位开始联系截取16位获得的。

5.数据库缓存:对应的数据读取也会生成缓存问价。
  数据库中:各种字段的检索速度也是不一样的:int>char(定长)>varchar(不定长)
  关于char类型和varchar类型的区别:http://www.nowamagic.net/database/db_CharnVarchar.php

6.关于内存:
  $a=1;
  $b=2;
  $a=$b;
  :输出的$a=2;但是内存中的$a=1;
  解释:在内存中间,将变量b的值赋值给变量a,其实就是让a的应用地址重新指向a的引用地址。在C中,这个被称为指针;在C#中,是属于应用类型,存在于托管堆。

7.数据库缓存优化:
  由于cpu有限,空间有限,内存有限;
  使用一次sql count语句会占有很大比例的内存和cpu,所以尽量少使用复杂的查询,如多表查询、子查询、内联和外联;尤其是内联和外联,能不用就不用。
  尽一切可能使用单表查询。
  这是就需要重新设计数据库。

8.关于索引:索引就一本书的目录,分外栏目索引和内容索引。
  索引既可以使用主键(如id)来充当,也可以单独建立字段来标示;只有大型数据我们才建立单独字段来标示索引,中小型数据的情况我们一般直接用主键(如id)来充当索引。

转载于:https://my.oschina.net/u/1771585/blog/309385

dedeCMS,标准的MVC框架运行原理和缓存相关推荐

  1. Asp.net WebPages框架运行原理浅析(转)

    在Asp.net4和4.5中,新增了WebPages Framework,编写页面代码使用了新的Razor语法,代码更加的简洁和符合Web标准,编写方式更接近于PHP和以前的Asp,和使用 WebFo ...

  2. MVC框架的原理详解

    阅读目录 一.MVC原理解析 1.MVC原理 二.HttpHandler 1.HttpHandler.IHttpHandler.MvcHandler的说明 2.IHttpHandler解析 3.Mvc ...

  3. MVC框架运行流程和目录结构

    1.        框架运行流程             用最通俗最简单的方法来解释一个MVC框架的运行流程: 通过入口文件载入函数库,加载自动加载的类,然后启动框架,启动框架后通过路由解析地址,然后 ...

  4. php框架laravel原理,Laravel框架运行原理

    写在前面: 使用任何框架,如果理解该框架原理,应用起来会更加得心应手. 一.生命周期 1. 入口文件: Laravel框架所有请求入口统一进入/public/index.php文件,请求通过Ngxin ...

  5. 自己手写一个Spring MVC框架

    想要了解Spring MVC框架的原理,探究框架是如何设计的,不错的学习方式是阅读源码,然后自己手写一个框架.本文带领大家简化的手写一个Spring MVC框架. Spring框架对于Java后端程序 ...

  6. 【QT学习】实现MVC框架的简易封装(一文读懂)

    文章目录 前言 一.MVC框架简介 1.核心部件 2.使用目的 3.MVC优点 二.具体封装步骤 1.文件管理 2.创建模型 3.创建控制器 4.MVC实现(用户登录验证为例) 总结 前言    MV ...

  7. NetCore框架详解 -------四、.NetCore框架对依赖注入原则 的技术实现和运行原理

    前三章主要从理论角度讲述了依赖注入原则及所衍生实现技术和手段产生的原因.发展和当前所处状况.大部分开发人为前三章对自己的技术水平的提高设有立竿见影的直接作用,但的我在里还是要说一下,前三章不但可以使开 ...

  8. MVC系列——MVC源码学习:打造自己的MVC框架(一:核心原理)(转)

    阅读目录 一.MVC原理解析 1.MVC原理 二.HttpHandler 1.HttpHandler.IHttpHandler.MvcHandler的说明 2.IHttpHandler解析 3.Mvc ...

  9. MVC系列——MVC源码学习:打造自己的MVC框架(一:核心原理)

    前言:最近一段时间在学习MVC源码,说实话,研读源码真是一个痛苦的过程,好多晦涩的语法搞得人晕晕乎乎.这两天算是理解了一小部分,这里先记录下来,也给需要的园友一个参考,奈何博主技术有限,如有理解不妥之 ...

最新文章

  1. Node.js:路由
  2. 加入域报错域控无法联系
  3. 类属性、类方法;私有属性、公有属性;私有方法、公有方法;静态属性、静态方法;python的命名规范__xx__\__xx\_xx(自用笔记)
  4. nodejs 的序列化与反序列化
  5. MPU6050参考代码
  6. CentOS7中使用Docker安装SVN以及配置账号权限
  7. Python中的端口协议之基于UDP协议的通信传输
  8. 【SpringMVC】SpringMVC基础-SpringMVC项目快速搭建、日志框架为logback
  9. ObjectStreamClass:监视Java对象的序列化
  10. Tomcat 或JBOSS java.lang.ArrayIndexOutOfBoundsException: 8192 解决方案【转】
  11. Java中Link,set 和Map的区别,ArrayList,HashSet和HashMap的区别。
  12. 【转】memcache-client-forjava
  13. WPS如何并排放置两张图片_Animate如何制作文字动图动画
  14. 互联网+传统硬件,乐视与酷派要构建全新生态链?
  15. 【数据结构】--章节2.3----线性表的链式表示和实现
  16. 关于MUSIC算法的知识点和MATLAB程序详细注释——学习笔记
  17. 怎么锻炼java逻辑思维_托马斯逻辑训练板技高一筹,锻炼编程逻辑思维能力
  18. STM32RBT6+RC522读取CPU卡demo
  19. 怎么操作信任另一台计算机,电脑上怎么设置信任软件
  20. Vue 的属性、方法和生命周期

热门文章

  1. yum 安装redis默认目录_Centos7 安装redis 详细步骤
  2. 支持的网卡列表_Windows 10的5G网卡折腾笔记(含采购链接)
  3. 应用函数修饰符@来改变AI Studio的输出信息
  4. 如何用C语音实现传递函数?
  5. BTN8982基本测试
  6. 三个管脚的压电陶瓷片
  7. AMP328音频放大器
  8. StringUtils.join的用法
  9. 关于微型计算机主板的描述错误的是,2016年9月计算机一级考试试题及答案「单选」...
  10. liunx导出mysql慢查询日志查看_查看 MySQL 慢查询日志文件-问答-阿里云开发者社区-阿里云...