Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/231.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php Webdev-点击和日志数据应该在数据库或文件中吗?_Php_Logging - Fatal编程技术网

Php Webdev-点击和日志数据应该在数据库或文件中吗?

Php Webdev-点击和日志数据应该在数据库或文件中吗?,php,logging,Php,Logging,我的站点有以下用户数据: 1) 点击IP,定位 2) 登录名,尝试信息 3) 下载尝试信息 将这些信息保存在单独的文件中、每天保存还是保存在数据库中更好?将它们保存在数据库中,这样更容易、更高效,尤其是当您读取数据以获取统计数据/其他信息时。数据库还防止文件写入锁定。应该存储在文件中的东西有限:大部分是大量的二进制数据,如e.x.图像 作为旁注,请确保登录名指向用户表的/A主键(可以是自动递增整数列,也可以是用户名;无论您将其设置为什么)。这将提高性能。文件是记录数据的最佳存储。您不需要每天访问

我的站点有以下用户数据:

1) 点击IP,定位

2) 登录名,尝试信息

3) 下载尝试信息


将这些信息保存在单独的文件中、每天保存还是保存在数据库中更好?

将它们保存在数据库中,这样更容易、更高效,尤其是当您读取数据以获取统计数据/其他信息时。数据库还防止文件写入锁定。应该存储在文件中的东西有限:大部分是大量的二进制数据,如e.x.图像


作为旁注,请确保登录名
指向用户表的/A主键(可以是自动递增整数列,也可以是用户名;无论您将其设置为什么)。这将提高性能。

文件是记录数据的最佳存储。您不需要每天访问它们,也不希望通常对它们运行查询(这将是决定因素)。通常的日志数据是文本和信息性的,而不是结构化的。文件API最适合附加日志数据。(速度更快,但您不应基于性能方面做出决定。)

好吧,这是一个折衷方案

对于文件,它们很容易移动,很容易导出到其他系统,也很容易解析

使用数据库,您可以轻松地进行搜索、报告和安全性


平衡这些优先级取决于您。

文件更优先:除了以前的用户所说的,您通常在脚本开始时登录,如果您的数据库认为它会影响脚本的性能,那么在许多情况下,登录到文件的速度会更快


如果需要快速方便的报告,您可以随时根据需要将数据从文件加载到数据库或作为cron作业加载到数据库

这里有一些优点;我会接受你的。所有其他答案都很好,+1谢谢大家的帮助。@Steve,很好奇你决定做什么。我选择了数据库解决方案,因为我对统计查询、持久性和安全性更感兴趣。如果这个问题严重失败,我会回来更新这个问题。:)你能详细说明一下为什么不“根据绩效方面做出决定”?史蒂夫:这是很难衡量的。无论如何,你都不想记录每一个事件,除非有几百万用户,否则不会有什么不同。这就是为什么我认为更重要的是只决定日志结构/格式/评估方法。