首頁  >  文章  >  後端開發  >  PHP不依賴系統自動執行機制 php從入門到精通 石家莊php培訓機構 php教學影片免

PHP不依賴系統自動執行機制 php從入門到精通 石家莊php培訓機構 php教學影片免

WBOY
WBOY原創
2016-07-29 08:50:27882瀏覽

不依賴系統,以及不依賴yii事物機制,則考慮人為觸發。觸發可以寫在總體的公共頁面上,但是考慮到對資料庫以及WWW伺服器的壓力問題,程式的延遲問題,需要對執行函數進行一些最佳化。

首先,我們考慮對資料庫的壓力,每次點擊頁面,我們都讓他觸發監聽系統,監聽系統首先要判斷此時是否需要更新我們的任務隊列(任務隊列我把他存在了緩存文件裡) ,如果不需要更新,則只需要對快取檔案裡的執行佇列進行時間正排序,對已經逾時的佇列進行執行即可。但我們要考慮什麼時候更新隊列文件,以及如何更新,這樣才能減輕系統壓力。

我的思路是,首先,快取檔案可能會被人為刪除或逾時失效,則每次先偵測是否存在快取檔案(按任務/使用者/類型進行分別產生快取),如果不存在,重新查詢資料庫,產生快取檔案(已經逾時的直接執行,執行不成功的再丟進快取佇列)。

接下來是每次訪問,如果有快取文件,先對文件中的超時任務處理,然後更新快取文件。此時遇到一個問題,就是操作時對快取佇列的影響,可能我們會需要在快取佇列的開頭或是中間的某個位置插入待執行佇列,這時我們可以手動刪除已存在的佇列就好了,下一次觸發時,由於找不到快取文件,則會重新產生最新的快取佇列。

當我們執行完一個任務的時候,佇列中的這個條目會刪除,如果佇列為空,則重新查詢,產生佇列,這樣就能保證最小次數的存取資料庫。還有一個問題,例如對訂單自動確認收貨的監控,如果是用戶前台的更新,則需要同時刪除此用戶的快取和該用戶所屬的後台管理員的緩存,這樣才能保證相關人員在瀏覽這個訂單的時候,看到的都是最新的狀態。同理,後台管理員的修改訂單,也應同時刪除所有相關人員的快取佇列。

以上就介紹了PHP不依賴系統自動執行機制,包含了php,機制的內容,希望對PHP教學有興趣的朋友有幫助。

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn