原创 組合模式解析

組合模式: 將對象以樹形結構組織起來,以達成“部分-整體”的層次結構,使得客戶端對單個對象和組合對象的使用具有一致性。從定義中可以得到使用組合模式的環境爲:在設計中想表示對象的“部分-整體”層次結構;希望用戶忽略組合對象與單個對象的不同,

原创 memcached使用內存保存session

對於登陸註冊量比較大的網站,session直接寫入文件。對於登陸訪問量比較大的網站session本身就比較多,如果提高session的讀取速度可以提高訪問速度和減輕服務器一定的負擔。而memcached可以做到這一點。修改的主要有兩個參數

原创 Memcached分佈式算法

memcached雖然稱爲“分佈式”緩存服務器,但服務器端並沒有“分佈式”功能。Memcached能夠用來存儲各種格式的數據,包括圖像、視頻、文件以及數據庫檢索的結果等。服務器端僅包括內存存儲功能,其實現非常簡單。 至於memcached

原创 裝飾者模式解析

裝飾者模式: 類的繼承能夠讓類的結構層次更明瞭,對於一些屬於類個性的方法一般硬編碼到子類中。在定程度上在繼承的類中硬編碼子類共同的方法,但是如果這些共同的方法比較多的話,這樣寫並不是最理智的方法,而且如果後期擴展的話,父類中的方法會越來越

原创 單例模式剖析

面向對象編程中有這種情況,希望類只有一個實例且夠成其他類的成員屬性,這樣如果直接作爲全局變量在頁面的前面定義類的實例,在其他類中當屬性使用,這中做法破壞了oop的封裝性,並且如果使用不當會導致命名衝突。而單例模式的設計就是專門爲了解決這類

原创 基礎知識和細節問題

緩存技術包括內存的緩存和文件的緩存。php內存的緩存目前是memcached技術。文件緩存包括頁面靜態化·smarty·mysql優化。 memcached服務器默認端口11211.其維護了一張hashtable表,其數據以鍵值對存在。m

原创 set_error_handler和trigger_error函數

set_error_handler函數爲用戶自定義錯誤處理函數,執行與程序執行期間。 set_error_handler(錯誤處理函數名,錯誤類型)參數還可以是一個數組,數組的第一個數據是類名第二個是類中的方法。 如果使用了該函數,會完全

原创 Xdebug的使用說明

Xdebug是一款免費開放源代碼的PHP代碼調試工具,支持本地和遠程調試,是一名有經驗的PHP程序員所必須要掌握的工具。同類的php調試工具還有ZendDebugger,不過貌似要收費。 Xdebug是php調試的增強工具 ,有以下用處:

原创 面向對象軟件設計中的開閉原則

what: 軟件設計過程中對擴展性開放,對修改關閉。即軟件實體應該在不修改的前提下擴展,這個原則實際上爲軟件設計指明瞭目標。 我們知道軟件設計應當充分考慮軟件的可維護性,即需求發生變化的時候軟件結構能夠靈活地適應這種變化。就評價軟件的可維

原创 mysql日誌類別及使用

my.ini裏面可以找到   1. # 在[mysqld] 中輸入    2. #log    3. log-error=/usr/local/mysql/log/error.log    4. log=/usr/local/mys

原创 外觀模式解析

外觀模式: 外部與一個子系統的通信必須通過一個統一的外觀對象進行,爲子系統中的一組接口提供一個一致的界面,Facade模式定義了一個高層接口,這個接口使得這一子系統更加容易使用;外觀模式又稱爲門面模式,它是一種對象結構型模式。 外觀模式

原创 mysql數據庫優化大方向

優化主要有下幾個方面: 1:合理建表(至少達到3NF) 2:建立索引(普通索引,主鍵索引,唯一索引,全文索引) 3:分表技術(水平分割和垂直分隔) 4:讀寫分離 5:存儲過程(模塊化編程可提高速度) 6:對mysql配置優化(最大連接併發

原创 mysql備份與還原

mysql備份:完全備份和增量備份 完全備份: 在cmd下進入該mysql目錄下bin目錄,mysqldump.exe來執行備份。mysqldump -uroot -p911004 數據庫或則數據表>路勁/文件名。在mysql控制檯上,恢

原创 explain命令詳解

Mysql另一個強有力的工具Explain,這個工具能詳細告訴你 Mysql打算如何、執行你這個Query。 •id                    :SELECT識別符。這是SELECT的查詢序列號 •Possible_key

原创 初識反射API

反射api是php內建的oop技術擴展,包括一些類,異常和接口,綜合使用他們可用來幫助我們分析其它類,接口,方法,屬性,方法和擴展。這些oop擴展被稱爲反射,位於php源碼/ext/reflection目錄下。可以使用反射api自省反射a