我应该在“谁在线”模块中使用txt文件或存储在数据库中?

时间:2011-10-05 01:39:52

标签: php database

我有一个项目,必须检查谁在线。 我正在考虑两种存储数据的方法: 1.保存用户在数据库中的最后访问时间,从查询中获取用户在线。 2.保存用户的上次访问时间,文件中的其他信息,获取文件,删除超时用户。每次我们想上网时,请阅读此文件。

我想知道哪条路更好?或其他更好的解决方案有什么建议吗?

3 个答案:

答案 0 :(得分:2)

使用数据库。为什么要让自己承受提出自己的文件格式所带来的困难和低效率,然后在每次想要检查某些内容时阅读并解析它?

答案 1 :(得分:1)

对于大多数数据库管理器,在数据库中执行查询比读取和处理文件更快。

如果您真的关心性能,可以创建另一个表,将用户ID保存为外键及其上次登录时间。当您进行查询时,您还可以删除该表上未在一定时间内登录的用户。

答案 2 :(得分:1)

使用memcache并将ttl设置为超时阈值,然后您无需担心手动删除它们。