看板 PHP 關於我們 聯絡資訊
※ 引述《pLxxoy (刃傷沙汰)》之銘言: : 標題: [請益] 以天為單位自動更新資料庫計算結果 : 時間: Fri May 4 22:41:17 2012 : : 我的作法是先跑一個loop計算出其他的使用者跟A的相似度 : 再把那些算出來的值在同一個頁面用QuickSort排序後取前五個列出 : 可是這樣一來等於A每進入這個頁面一次就要重算一次 : : 問題是:有辦法限制說A第一次進入頁面時才做計算並存入資料庫中 :     之後當A重新拜訪頁面時,就從資料庫直接印出來給A : 直到隔天才重新開始做重新計算的動作嗎? : : 希望板友能提供我一些解決這方面問題的關鍵字或方向 謝謝!! : → tyf99:不用 cron 的話,就是在每次有人瀏覽時觸發 05/05 00:45 : → tyf99:若距離上次觸發時間超過一天,就執行統計 05/05 00:46 : → tyf99:是的,執行統計時就順便寫入 timestamp 05/05 16:37 : → tyf99:我之前的作法是只有 admin 登入時才進行統計 05/05 16:41 : → tyf99:因為統計也只有 admin 看得到,平常不需要跑統計拖效能 05/05 16:42 : → tyf99:不過我的案例跟上面這個不同,上面這個是要給大家看的 05/05 16:43 是說我剛好有做一樣的東西, 我的方式是用 memcached. user 第一次進來, 跑資料(會慢一點, 但是用ajax load 至少不會 等頁面等太久, 輸出前丟到 memcached 裡, key 用 xxx_user_id. 再度進頁面, 先檢查 memcached 有沒有這個 key.. 沒有才要跑 php. memcached, cache本身就可以設定過期時間, 不用去自己計算. 也不用跑資料庫, memery 快到爆, 缺點... 浪費記憶體(誤) 當然也是可以用file當cache... 實做上的方式的問題. -- Live Long and Prosper -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 61.31.105.62
buganini:fb有一堆機器是差滿記憶體沒有硬碟的啊 05/06 01:24