做到一个程序中发现有一个文章的浏览次数,不知道用什么方式来实现好,映在我脑袋中的第一个念头就是放数据库中,每浏览一次就加1,但是这种太影响效率了,不想这么做,请问各位是怎么来做的,请各位给予指教!

解决方案 »

  1.   

    文章表添加一字段存储浏览次数
    用户每点击一次文章: update tb set c=c+1 where id=@id
      

  2.   

    如果可以的話,用cookies或者Session記錄已經點擊過該文章,就不再次+1
    可以減少數據庫的訪問。
      

  3.   

    用异步方式实现:
    1、首先,文章一般是静态页面,所以要用<script src="xxxx.aspx?id=文章ID" />
    xxxx.aspx就是你统计文章访问数的页面,不出数任何html,否则会有javascript脚本错误。
    xxxx.aspx要设置为no-cache
       为什么要这么做?是为了不影响文章打开的速度。如果同步更新的话,你的页面要等数据库返回结果后才能打开。2、当这个页面接收到数据后,不直接向数据库更新,而是先写到内存中,用字典表,主键为文章ID,记得要加锁,另外一个线程每隔一定时间,添加到数据库中,并将内存的数据Clear。以上是最简单的而且性能比较高效的方法,呵呵。
      

  4.   

    记录用户访问日志,重复IP过滤
    ajax修改浏览次数