現行的計數器,很多都是以讀寫檔案來實作這項功能(file -based)。 因為讀寫檔的機制較單純,遠比讀寫資料庫來得快速且有效率。 但有的時候確未必,如果檔案是以NFS或是其它fs系列的來存放,在量大的時候常常會撐不住。 使用資料庫的效能反而比較高。 所以如果要以檔案來實作程式的話,強列建議要使用本機。
這次的修改是工作中的一個小專案,要寫到計數器。 計數器上網可以找到一堆。有三行的版本,也有五行的版本。 不過我嫌它不夠快。 於是稍事修改。 來... 看程式...
這是一般的計數器... (因為要測效能,所以就先不echo)
--
--
這算是有不錯的效能的。
因為file_get_contents是平均起來效能最好的。
這是我這邊修改的版本
--
--
主要應用的概念是... 檔案用append遠比直接寫入來得快。
我用counter.tmp來的「檔案大小」來做暫存。
當然,還要定期把counter.tmp的filesize定期計加到counter.txt裡面
你可以用crontab,或者是...
--
if(rand(0,10000)==1){ //把counter.tmp的filesize加到counter.txt裡面 }
--