作者pLxxoy (刃傷沙汰)
看板PHP
標題[請益] 以天為單位自動更新資料庫計算結果
時間Fri May 4 22:41:17 2012
先說明一下背景
目前在建置一個有推薦頁面的網站
這個系統會根據使用者資料庫所記載的資料做相似度的分析
然後在將算出來的值取前五名顯示在頁面上
假設現在使用網站的人叫A好了
我的作法是先跑一個loop計算出其他的使用者跟A的相似度
再把那些算出來的值在同一個頁面用QuickSort排序後取前五個列出
可是這樣一來等於A每進入這個頁面一次就要重算一次
問題是:有辦法限制說A第一次進入頁面時才做計算並存入資料庫中
之後當A重新拜訪頁面時,就從資料庫直接印出來給A
直到隔天才重新開始做重新計算的動作嗎?
希望板友能提供我一些解決這方面問題的關鍵字或方向 謝謝!!
--
ひねくれ者の天才よりは、朗らかなバカの方がマシだ
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 140.113.67.149
1F:推 LaPass:寫在系統排程裡面,叫系統固定時間去執行 05/04 22:48
2F:推 kusoayan:CRONTAB 05/04 22:54
3F:→ pLxxoy:系統排程!? 是指用php做嗎? 05/04 22:58
4F:→ pLxxoy:剛估了一下二樓給的關鍵字...似乎就是這個沒錯 05/04 23:00
5F:推 kusoayan:你用出心得記得分享一下 因為我也沒實際用過XDDDDDDDDD 05/04 23:07
6F:推 AreTheyYou:寫隻php 讓Linux 每天固定時間去跑那隻php 05/04 23:49
7F:推 LaPass:1 2 6f在講的通通都是同一個東西 XD 05/04 23:50
8F:→ MOONRAKER:也不一定要用php寫,當然用php很方便…我都這樣偷懶 05/05 00:21
9F:→ chrisQQ:原PO主機用 unix-like or win ? 05/05 00:42
10F:→ tyf99:不用 cron 的話,就是在每次有人瀏覽時觸發 05/05 00:45
11F:→ tyf99:若距離上次觸發時間超過一天,就執行統計 05/05 00:46
12F:→ tyf99:當然,一整年都沒人來看網頁的話,就完全不會有統計 05/05 00:47
13F:推 kusoayan:樓上的方法要在 database 裏面紀錄上次統計的時間? 05/05 02:34
14F:→ tyf99:是的,執行統計時就順便寫入 timestamp 05/05 16:37
15F:→ tyf99:我之前的作法是只有 admin 登入時才進行統計 05/05 16:41
16F:→ tyf99:因為統計也只有 admin 看得到,平常不需要跑統計拖效能 05/05 16:42
17F:→ tyf99:不過我的案例跟上面這個不同,上面這個是要給大家看的 05/05 16:43