dedeCMS,标准的MVC框架运行原理和缓存

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)来充当索引。


郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。