我有一个PHP文件需要扫描其他网站的数据,在多用户访问时怎样保证它只去扫描一次?

vnking 2009-02-10 11:37:39
我有一个PHP文件需要扫描其他网站的提取数据。

如果没有人访问网站时,它不会工作,数据没有更新。

如果有人访问时,它就应该去扫描别人的网页,将结果保存到自己的数据库中,并将结果发给访问者。

但是如果有多人访问时,它也应该只去扫描一次就足够,其他人共享自己数据库就行。

有什么办法做这种控制呢?
...全文
128 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
mikespook 2009-02-11
  • 打赏
  • 举报
回复
伪代码,应该很容易明白吧~~~

if(比较当前时间戳与已有数据时间戳,过期时) {
获取新数据;
更新当前时间戳到数据时间戳;
}
输出当前数据;
hqaht 2009-02-10
  • 打赏
  • 举报
回复
增加两个字段 一个是网页地址的字段url 另外一个是是否被访问过的字段
url mark
当url=‘http://aaa.com/a.php?id=1’ 时候mark=1的话说明已经访问过了,为0时说明还没访问过
也可以增加一个访问时间的字段,以便多长时间再次访问
vnking 2009-02-10
  • 打赏
  • 举报
回复
是扫描股票行情的,隔3秒钟就要跑去扫描了。
Zijian_Zhang 2009-02-10
  • 打赏
  • 举报
回复
[Quote=引用楼主 vnking 的帖子:]
我有一个PHP文件需要扫描其他网站的提取数据。

如果没有人访问网站时,它不会工作,数据没有更新。

如果有人访问时,它就应该去扫描别人的网页,将结果保存到自己的数据库中,并将结果发给访问者。

但是如果有多人访问时,它也应该只去扫描一次就足够,其他人共享自己数据库就行。

有什么办法做这种控制呢?

[/Quote]

隔1个时间更新一次,每次写个时间截,每次访问判断一下。
bookmoth 2009-02-10
  • 打赏
  • 举报
回复
数据库里记一个时间戳
vnking 2009-02-10
  • 打赏
  • 举报
回复
[Quote=引用 8 楼 bookmoth 的回复:]
引用 7 楼 vnking 的回复:
引用 6 楼 bookmoth 的回复:
这种情况还是把更新操作放到后台程序里面做吧。


虚拟主机,无法控制后台!

呃……好吧,当我没说
[/Quote]

只能说现在的技术服务突飞猛进,即使是年服务费数百元的虚拟主机也能做出不错的股票行情查询,记得十年前,深圳证券交易所的一个附属公司,要搞个网站,服务器购买SUN公司的,总共加起来数百万投入,现在回头看,真是沧海桑田。

我搜索的股票行情是越南河内证券交易所的,现在100多个股票,行情刷新不是很快,数据量不是很大,原因当然也跟市场大小有关,每天只交易两个半小时,当地时间早上8:30~11:00,北京时间9:30~12:00,在这段时间扫描数据就可以了,反正一个虚拟主机一个access表就能搞定。
bookmoth 2009-02-10
  • 打赏
  • 举报
回复
[Quote=引用 7 楼 vnking 的回复:]
引用 6 楼 bookmoth 的回复:
这种情况还是把更新操作放到后台程序里面做吧。


虚拟主机,无法控制后台!
[/Quote]
呃……好吧,当我没说
vnking 2009-02-10
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 bookmoth 的回复:]
这种情况还是把更新操作放到后台程序里面做吧。
[/Quote]

虚拟主机,无法控制后台!
bookmoth 2009-02-10
  • 打赏
  • 举报
回复
这种情况还是把更新操作放到后台程序里面做吧。
yctin 2009-02-10
  • 打赏
  • 举报
回复
数据先存到自己的数据库

另外建一个表
目标地址,更新时间,间隔

有请求时,检查(更新时间+间隔)决定是否需要更新数据

4,250

社区成员

发帖
与我相关
我的任务
社区描述
国内外优秀PHP框架讨论学习
社区管理员
  • Framework
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧