用于在 Redis 中存储历史记录 table(即审计跟踪)的模式?

Schema for storing history table (i.e. audit trail) in Redis?

我们有一个跟踪工单审查状态的系统。工单可以在各种状态之间转换(等待审核、当前正在审核、已接受、未接受等)。转换由用户命令触发。

对于每个状态更改,我们还需要存储一些元数据 - 例如时间戳、请求用户等

我们运行最常见的查询是:

我想尝试一下在 Redis 中执行此操作(部分作为 Redis 的学习练习)。

网上似乎有大量关于在关系数据库中创建历史表的信息,以及示例模式。但是,我找不到太多关于在 Redis 中执行历史记录 tables/audit trails 的信息。

首先,有什么特别的原因让我不想为此使用 Redis 吗?

其次,我会在 Redis 中查看哪种模式来存储上述信息?

第三,我可以使用任何特定的 Redis techniques/commands?

您可能需要检查内存要求是否适合您的基础架构。这将是选择 Redis 的主要考虑因素。

为了对这个问题建模,您将有一个散列用于每张票,一个散列用于每个用户,一个散列用于每个状态变化,以及许多集合来保持这些散列之间的必要引用。如果你认为你会走这条路,我可以给你一个更详细的例子。

我建议您看一下 Ohm,它是对此类问题建模的轻量级工具。