[英]PHP - Is it good practice to cache MYSQL queries in a txt file?
我正在建立一個在線商店,並試圖通過最小化MYSQL查詢來提高性能。
通過txt文件緩存mysql查詢然后獲取而不是查詢是一種好習慣嗎? 這就是我正在做的事情
這比每次執行sql查詢更有效嗎? 我遺失的任何安全問題?
如果您進行基准測試,那么創建唯一哈希並執行IO到磁盤的成本將大於從MySQL服務器中獲取的成本。
恕我直言,不要打擾到這個程度。 好的想法,但MySQL已經有內部緩存和性能調整。
專注於構建您的應用程序,因為“過早優化是所有邪惡的根源”。
如果你剛剛啟動應用程序,memcache比使用文本文件更快捷。
文本文件將完成這項工作,你所概述的步驟是有意義的,但memcache會更快,並為你處理繁重的工作。
您的方法看起來有點像將問題從一個角落轉移到另一個角落。
引入緩存並不能提高Mysql的性能。 更好地查看哪些查詢實際上很慢,然后優化查詢。
如果您希望實現緩存並着眼於未來的可伸縮性,我建議您設置運行數據庫查詢的RESTful服務,然后使用Web服務器的HTTP緩存功能來緩存結果。 步驟看起來像:
您可以在此處閱讀有關使用Apache緩存PHP的更多信息。 您現在正在做的事情接近於此,但您的應用程序將能夠使用基於服務的方法更好地擴展。
只是想要權衡我的兩分錢,什么是serialworm和thephpdeveloper所說的共享內存/ ram比你提出的任何磁盤IO綁定操作快得多的事實。 盡可能多地向mysql投入ram,除非你真的需要升級到集群,否則你不需要處理緩存管理,這需要其他考慮因素。 Memcache使您可以更好地控制緩存管理,因此您需要進行更多編碼。
我將從構建應用程序開始,然后對其進行壓力測試並優化查詢,和/或根據需要添加緩存管理。
這是荒謬的,你應該緩存結果 。
查詢匯編時間應該可以忽略不計。 (如果不是,那么你不應該使用SQL ,而是生成智能join
可以解決的愚蠢select
流 )
從磁盤加載查詢顯然容易減慢速度。
(操作系統可能正在緩存磁盤IO,但很難發現)
真正應該花時間,無論如何, 越來越結果出來的DB,然后他們的風格回到網頁槽的模板。 在你的位置我會緩存給定磁盤查詢給定查詢的結果 ,當被問到,如果緩存不是很老,我會直接readfile()
它們。
你有沒有配置MySQL的查詢緩存 ?
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.