gpt4 book ai didi

php - 平面文件与数据库——速度?

转载 作者:IT老高 更新时间:2023-10-29 00:21:28 25 4
gpt4 key购买 nike

我正在制作一个聊天程序,我需要一个地方来存储消息。客户端将每隔 x 秒使用最后收到的消息 ID 与服务器联系,服务器将在客户端已加入的房间中查找 ID 高于该 ID 的所有消息。

因为我不会永远存储东西,所以我正在考虑使用仅包含最后 40 条左右消息的平面文件(每个房间一个,以及直接消息)。但是我认为通过比较数字,数据库会更快。

我应该使用什么数据存储方法?

最佳答案

平面文件可能会快一点,但从长远来看它最终会出现更多错误,因为不仅仅是执行 SELECT * FROM messages WHERE room=nnn AND ID > yyy ,您将必须加载文件、解析它、扫描每一行以查找消息 ID、转到正确的消息,然后将其读出。

这只是第一个问题。文本文件不支持多个用户写入(如果两个人同时在同一个房间发帖怎么办?),并且很容易损坏。

考虑到所有因素,我认为使用数据库更好,即使它是像 SQLite 这样简单的东西,它具有出色的 PHP 支持。然而,考虑到很多用户的情况,MySQL 可能是一个更好的选择。此外,MySQL 具有出色的缓存功能,因此在大多数情况下,最近的数据将直接来自 RAM,并且将比您以任何一种方式在 PHP 中扫描文本文件更快地提供服务。

关于php - 平面文件与数据库——速度?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6853482/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com