创建具有递增键的日志,而无需使用数据库


Creating a log with incrementing keys, without using a database

我目前正在为我们公司创建一个网络GUI,用于以易于查看的方式查看日志。该系统将支持浏览和过滤日志项,并使用链接访问某个日志项。

我的问题是我应该如何为每个日志项设计密钥。

我使用的环境没有,也不会包含数据库。所以我改用文件。在最佳方案中,每个键都应包含以下功能:

  • 唯一(必填(

  • 以可预测的模式递增。

  • 包括时间戳,粒度为分钟。

仅使用毫秒时间戳是显而易见的解决方案,但是这样我就不会有可预测的增量,这将损害性能。

你能想到一种方法吗?

如您所知,有一个没有服务器的数据库系统,称为SQLite。它是轻量级的(350kb(,仅限客户端,通常已经与您喜欢的PHP包一起分发。这就是为什么您可能不需要在服务器上安装任何新服务的原因。但是,如果不是,您仍然需要启用 sqlite 扩展。

使用 sqlite 就像其他经典数据库系统一样。但是,它针对本地使用进行了优化。在您的场景中,我认为使用 sqlite 可以简化您的设计和编程。