日期:2014-05-18  浏览次数:20672 次

JSP高访问量下的计数程序
有时要为每一篇文章统计其点击次数,如果每一次浏览都要更新一次库的话,那性能在访问量很大的情况下,服务器的压力就会很大了,比较好一点的方法就是先将要更新的数据缓存起来,然后每隔一段时间再利用数据库的批量处理,批量更新库。源码如下:  

  CountBean.java

/*
*   CountData.java
*
*   Created   on   2006年10月18日,   下午4:44
*
*   To   change   this   template,   choose   Tools   |   Options   and   locate   the   template   under
*   the   Source   Creation   and   Management   node.   Right-click   the   template   and   choose
*   Open.   You   can   then   make   changes   to   the   template   in   the   Source   Editor.
*/  

  package   com.tot.count;

/**
*
*   @author   http://www.tot.name
*/
public   class   CountBean   {
 private   String   countType;
 int   countId;
 /**   Creates   a   new   instance   of   CountData   */
 public   CountBean()   {}
 public   void   setCountType(String   countTypes){
  this.countType=countTypes;
 }
 public   void   setCountId(int   countIds){
  this.countId=countIds;
 }
 public   String   getCountType(){
  return   countType;
 }
 public   int   getCountId(){
  return   countId;
 }
}  

  CountCache.java

/*
*   CountCache.java
*
*   Created   on   2006年10月18日,   下午5:01
*
*   To   change   this   template,   choose   Tools   |   Options   and   locate   the   template   under
*   the   Source   Creation   and   Management   node.   Right-click   the   template   and   choose
*   Open.   You   can   then   make   changes   to   the   template   in   the   Source   Editor.
*/

package   com.tot.count;
import   java.util.*;
/**
*
*   @author   http://www.tot.name
*/
public   class   CountCache   {
 public   static   LinkedList   list=new   LinkedList();  
 /**   Creates   a   new   instance   of   CountCache   */
 public   CountCache()   {}
 public   static   void   add(CountBean   cb){
  if(cb!=null){
   list.add(cb);
  }
 }
}

 CountControl.java

 /*
 *   CountThread.java
 *
 *   Created   on   2006年10月18日,   下午4:57
 *
 *   To   change   this   template,   choose   Tools   |   Options   and   locate   the   template   under
 *   the   Source   Creation   and   Management   node.   Right-click   the   template   and   choose
 *   Open.   You   can   then   make   changes   to   the   template   in   the   Source   Editor.
 */

package   com.tot.count;
import   tot.db.DBUtils;
import   java.sql.*;
/**
*
*   @author   http://www.tot.name
*/
public   class   CountControl{  
 private   static   long   lastExecuteTime=0;//上次更新时间