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

我要提问

我的问题


快到期问题

> 问题排行榜

相关内容

相关链接