假设用户 id=1001 当此用户登陆的时候,为这个用户建立一个文件 1001.dat用户操作都在这个文件中。

解决方案 »

  1.   

    把记录存入cookie并不好,最好还是存到服务器,通过Ajax返回结果。
      

  2.   

    我是这样解决的。
      把每个用户的增删改等操作的sql语句和时间等信息,都记录在服务器的XML文件中。服务器中用C(或PHP)写个定时器,如每30秒读取记录文件,执行sql语句,清空文件,并把更新的ID和时间存到另一个XML文件中。客户端用户定时读取XML文件,用Ajax更新。
       如果并发量大,实时性高的话,要考虑的问题就多了,如两个用户同时更新一条记录,可能只要执行一条语句就够了。
      

  3.   

    谢谢 johnpanq(飞花逐月)你的方法很好,但是如果很多个GROUP(数据库的话),处理上会很麻烦。
      

  4.   

    cookie不是最大4k,而是单个cookie最大4k,最多20个cookie共80k。你大可以将cookie分割成4k大小的数组。另外apache的header大小限制也会限制cookie的最大值。
      

  5.   

    当数据库发生增加、删除、更新操作时,记录变动信息到文件或表或共享内存
    cookie只保存最后访问时间ajax动作
    1、请求变动信息
    2、根据返回的变动信息调整页面内容