悬赏分:20 浏览:142 次
1.先放到一个txt,每次对txt的值加1再写入,等到一定时间段更新数据库相关字段,但好像无法控制并发。
2.先做标记,然后去刨服务器的请求日志,一定时间段刨一次,找到下载相关的,count一下,然后写入数据库对应字段。想在这里听听各位的意见,集思广益一下,先谢过了。
|
记到文本文件里解决不了问题,一个是并发,另外IO操作也是很消耗资源的,服务器日志MS也是很麻烦的一件事
可以考虑把这些东西放到内存里,想来每天10万次,应该是访问量很大,那么值得把这些信息缓存到内存中,定期与数据库同步
这个定期可以是几秒钟,也可以是几分钟,因为30秒一次和1分钟一次,两者并不会对数据库造成太大的影响 "比如一个下载链接,每天的下载量超过了十万次" 这个的确该用缓存了,需要自己实现一个(简单实现功能即可,根据具体业务实现缓存的更新策略),数据库的缓存机制不可能那么智能(2000的话还可以自己定义一些固定缓存项,2005认为他自己很聪明了,所以没辙。虽然那个选项仍然存在,不过建议别用,用了也白用,呵呵) 只用一个线程去更新访问数,这时直接行锁,因为取数据时访问的是缓存,不会对数据库造成压力的,而且并发也解决了。当然,更新缓存中的访问数时,还是要确保线程安全的,毕竟是临界资源嘛 |
|
2个月前 雨哲 : 嗯,又从内存的角度启发了我,最近在做一个每天下载超过180万次的站点重构工作,会试试效果的 |