如何實現這個問題,我認為可以從三個方面回答:
直接用程式來實現。
每訪問一次就用程式按條件更新一次資料,最好寫到基類裡面,方便程式在使用時,每時每刻都在呼叫,這樣就可以達到“看起來是”的效果。不過透過來實現的缺點就是,當沒人訪問的時候,程式就無法執行,資料沒有更新,功能就不能實現。
Redis的快取技術
這些頁面配置的廣告在一段時間內是不會變的,如果頁面請求次數較多,廣告查詢次數就會很頻繁,對資料庫造成不必要的壓力。所以可以引入快取,降低資料庫請求次數,緩解資料庫壓力。
可以在專案啟動時非同步把符合條件的頁面廣告配置資訊存入Redis,那些還沒到指定時間的先不放Redis,等到訪問頁面載入廣告時,先查Redis,若無則按條件(>=nowtime)查庫,查到後存Redis。
定時任務管理工具
webcron和jiacrontab 最初是一款為解決自己在實際生產中定時任務管理不便而開發出的 web 應用。
如何實現這個問題,我認為可以從三個方面回答:
直接用程式來實現。
每訪問一次就用程式按條件更新一次資料,最好寫到基類裡面,方便程式在使用時,每時每刻都在呼叫,這樣就可以達到“看起來是”的效果。不過透過來實現的缺點就是,當沒人訪問的時候,程式就無法執行,資料沒有更新,功能就不能實現。
Redis的快取技術
這些頁面配置的廣告在一段時間內是不會變的,如果頁面請求次數較多,廣告查詢次數就會很頻繁,對資料庫造成不必要的壓力。所以可以引入快取,降低資料庫請求次數,緩解資料庫壓力。
可以在專案啟動時非同步把符合條件的頁面廣告配置資訊存入Redis,那些還沒到指定時間的先不放Redis,等到訪問頁面載入廣告時,先查Redis,若無則按條件(>=nowtime)查庫,查到後存Redis。
定時任務管理工具
webcron和jiacrontab 最初是一款為解決自己在實際生產中定時任務管理不便而開發出的 web 應用。