基于thinkphp框架 做了一套程序
由于是体育类型的网站 需要抓取一些比分数据
由于比分到实时性 因为随时会更新 比如nba比分 很频繁
现在采用的办法是 客户端访问的时候 js形式加载了一个php文件 因为每次处理数据较多 而且太频繁很消耗资源 加载也很慢 有没有什么办法可以节约资源而且保证数据的实时性? 最重要的一点是假如某个时间段pv低或者没人访问 数据也就不更新了
有没有什么其他方法可以节约资源 且能保证数据的实时性?
有朋友推荐用workerman 由于不大了解这个框架 也不知道适不适合在这种场景里应用 求大神们给条思路
定时任务
crontab 定时任务 ,1 分钟运行一次。
然后用代码判断,是否在比赛时间段,如果在就去抓取最新的数据,如果没不在,就放缓抓取。
无头浏览器
使用无头浏览器打开页面注入 Script 到页面,与自己的服务器建立 WebSocket 连接,然后监听页面比分位置的 DOM 变化,如果变化了就将最新的数据通过 WebSocket 发送给服务器,由服务器处理。
这样的好处就是不用刷新了,资源也省下了,就是开发难度稍微高一点儿。