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

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

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

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

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

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

以上就介紹了PHP不依賴系統自動執行機制,包括了php,機制方面的內容,希望對PHP教程有興趣的朋友有所協助。

  • 聯繫我們

    該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

    如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

    A Free Trial That Lets You Build Big!

    Start building with 50+ products and up to 12 months usage for Elastic Compute Service

    • Sales Support

      1 on 1 presale consultation

    • After-Sales Support

      24/7 Technical Support 6 Free Tickets per Quarter Faster Response

    • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.