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)來充當索引。