我在一个网站上用一个数据表还记录在线人数,大意是在SESSION_START方法中向一个表中填入数据,然后在SESSION_END中删除一条记录,在使用中发现在服务器繁忙的时候有时SESSION_END不执行,造成有些人永远在线了。
大家有没有碰到这种情况,请问大家的解决方法是怎么样的,我太想用关闭页面的客户端方法中写AJAX方法手动删除,因为网站好多页面。

解决方案 »

  1.   

    如何定期删除N久没活动的会话记录???比如说我点击一个按纽,然后读取我在表中记录的在线信息,然后能知道其中的一个sessionId是否已经失效了呢?
      

  2.   

    每个客户端都有一个SESSIONID,根据ID是否新建还是更新表中的数据
      

  3.   

    那是在SESSION_start中要做的事儿呀,我问得是怎么知道它已经失效从而删除它呢?
      

  4.   

    可以新建一个页面(或线程)定期去检查数据库中的记录是否超过了session中所超过的时间
      

  5.   

    赞成 flyinging(一路走来) 的说法。还要做的是:用户每次活动的时候都更新临时表(内存)中用户最后活动时间字段。