『技術(shù)向』php計數(shù)類 文本數(shù)據(jù)庫 存檔

哈!時隔近兩月,我?又回來辣。
雖然上一篇沒人讀,但我不在意。
本來在寫一個在線工具站,需要根據(jù)工具使用次數(shù)來對工具進行排序。但是整站我的想法是不用MySQL,安裝和遷移都能方便許多,對于環(huán)境的要求也沒那么高。考慮到后期瀏覽量可能會升高(幻想),我想起另一個API站在未接入MySQL時,對于API調(diào)用次數(shù)經(jīng)常清零的問題,所以寫了這么個類。
我一個在讀高中生,不是專業(yè)的開發(fā)人員。文章或代碼可能存在錯誤,歡迎各位大佬指出我的錯誤或者提出修改建議,謝謝!
前情提要
非MySQL時,較為簡單的file_get_contents()加file_put_contents()的搭配在高并發(fā)下經(jīng)常發(fā)生文件鎖死,繼而導(dǎo)致原有計數(shù)丟失。
問題已經(jīng)得到解決,寫了這么個類,在此發(fā)布并留檔。源代碼及測試請見下方內(nèi)容。
效率測試
測試環(huán)境:CentOS7 2h4g 騰訊云 輕量應(yīng)用服務(wù)器 php7.3
測試內(nèi)容:8000次 x 5進程 同時運行
簡易方法
測試代碼:
平均耗時:5.438?秒
數(shù)據(jù)清空:347 次
計數(shù)類
測試代碼:
平均耗時:5.247?秒
數(shù)據(jù)清空:0?次
可見效率略有提高(?)但是意義不大,更重要的是全程沒有出現(xiàn)數(shù)據(jù)清空的狀況了。
其他說明
這個類主要是為了防止文件鎖死導(dǎo)致數(shù)據(jù)清空,適用于統(tǒng)計網(wǎng)頁瀏覽次數(shù)等只需要模糊數(shù)據(jù)的內(nèi)容,不能解決精準統(tǒng)計的需求,對于過多的計數(shù)項目可能還會存在io瓶頸的問題。
有條件仍然推薦使用MySQL或者Redis實現(xiàn)功能,效率更高、更為保險。
源代碼
./Count.php
十分悲傷的,千花陽力,讓我們祝福她...