PHP解決大數據
#一、使用快取
1、使用程式直接儲存到內存中。主要使用Map,尤其ConcurrentHashMap。
2、使用快取框架。常用的框架:Ehcache,Memcache,Redis等。
最關鍵的問題是:何時建立緩存,以及其失效機制。
對於空資料的緩衝:最好用一個特定的類型值來保存,以區別空資料和未快取的兩種狀態。
二、資料庫最佳化
1、表格結構最佳化
#2、SQL語句最佳化,語法最佳化與處理邏輯最佳化。可記錄各語句執行時間,針對性的分析
3、分區
4、分錶
5、索引最佳化
6、使用預存程序取代直接操作
三、分離活躍資料
例如用戶,可分為活躍用戶與不活躍用戶。
四、批次讀取和延遲修改
1、高並發情況可以將多個查詢請求合併到一個。
2、高並發且頻繁修改的可以暫存快取中。
五、讀寫分離
資料庫伺服器配置多個,設定主從資料庫。寫用主資料庫,讀用從資料庫。
六、分散式資料庫
將不同的表格存放到不同的資料庫中,然後再放到不同的伺服器中。有些複雜問題,如:事務處理,多表查詢。
七、NoSql和Hadoop
1、NoSql,not only SQL,沒有關係型資料庫那麼多限制,比較靈活高效。
2、Hadoop,將一個表格中的資料分成多個區塊,並保存到多個節點(分散式)。每一塊資料都有多個節點保存(叢集)。集群可以並行處理相同的數據,還可以確保數據的完整性。
以上內容僅供參考!
推薦教學:PHP影片教學
#以上是php如何解決大數據的詳細內容。更多資訊請關注PHP中文網其他相關文章!