aps*_*nce 11 php mysql flat-file
我正在制作聊天程序,我需要一个存储消息的地方.客户端将每隔x秒与服务器联系并使用最后收到的消息ID,并且服务器将在客户端已加入的房间中找到ID高于该值的所有消息.
由于我不打算永远存储东西,我正在考虑使用平面文件(每个房间一个,以及直接消息),只有最后40个左右的消息.但是我认为通过比较数字,数据库会更快.
我应该使用什么方法的数据存储?
平面文件可能会快一点,但从长远来看它最终会变得越来越多,因为你不必只是做一个SELECT * FROM messages WHERE room=nnn AND ID > yyy,你必须加载文件,解析它,扫描每一行的消息ID,转到正确的信息,然后读出来.
这只是第一个问题.文本文件不支持多个用户写入(如果两个人同时发布到同一个房间怎么办?),并且很容易变得腐败.
考虑到所有事情,我会说使用数据库会更好,即使它像SQLite一样简单,它具有出色的PHP支持.但是,考虑到多用户条件,MySQL可能是一个更好的选择.此外,MySQL具有出色的缓存功能,因此大多数情况下,最近的数据将直接来自RAM,并且比以任何方式扫描PHP中的文本文件都要快.
| 归档时间: |
|
| 查看次数: |
9874 次 |
| 最近记录: |