哪个哥哥 用PHP做过  动态用户在线列表因为是动态的就是即时显示的所以 我不打算考虑用数据库   现在就缺少一个想数据库一样的容器 可以异地机器之间数据交互要动态显示列表 就必须用JS做一个 setinterval (AJAX 向服务器获取列表,1秒)  如果30个房间 每个房间50人  每秒就要读取150次 在加上用户退出,进入   修改量不是更大么
用文件的话 我有个顾虑  50个人 疯狂的对一个文件读取 写入 修改 操作  恐怕会问题把。。

解决方案 »

  1.   

    你算错了,30*50=1500ajax请求不需要这么频繁,5——10秒完全可以满足需求了,数据库是已经很理想的解决方案了我觉得mysql内存表就非常适合干这种事
      

  2.   

    这个用comet吧,挺符合的,百度查下comet,看看那个原理
      

  3.   

    socket,不定时获取。
    有更新才发送接收。前面在网上看到过这样一篇文章,也有代码。
    上面说的是可以,我没测试过。
      

  4.   

    AJAX 5-10秒取一次就好了。数据的话,建议存数据库吧,PHP没有像ASP的 application Cache,所以存数据库是不二的选择,用XML或者其他文件方式明显很愚蠢。
      

  5.   

    要实现这个功能,摈弃http协议
    推荐你用flash/flex + red5,做起来也很简单
      

  6.   

    能否给个PHP 对 mysql的内存表操作实例 或者文章 
      

  7.   

    数据放在数据库里,结合memcache来存储在线用户列表,更新到数据库,读取都从memcache里读,当然数据库更新时要同步到memcache中。
      

  8.   

    这个问题之前已经有人问过了。用AJAX。不用的话,就用txt,然后定时刷新
      

  9.   

    ajax 间隔10秒 获取服务器上的在线列表,服务器上可以间隔20秒刷新下缓存,这个缓存就储存着在线用户信息,一般消耗不会太大。
      

  10.   


    用TXT。。  房间进出频繁  写入修改也很频繁 用文件恐怕会出错
      

  11.   

    1。添加数据的时间向文本里面写入一个字符串,用于标识是否有新数据产生2。每隔一秒钟用AJAX去请求这个文件,判断是否存在新增数据的标识,如果有则取请求数据库,重新获取数据,并销毁文本标识
      

  12.   


    我刚刚也想到。    和你的不太一样  用数据表存储    删除和写入都先对数据库 操作 数据库操作完成一个删除或者写入操作,立即更新文件, 客户端用AJAX 每秒读取的是文件的内容;就是说写入和删除是操作数据库 
    每秒刷新列表读取 是操作文件我的想法如何 
      

  13.   

    这个最好是用到数据库。mysql 编好就行。