mohit-yogi / async-db-helper
将模型数据保存到redis,然后稍后再将其移动到数据库
v1.0.0
2022-03-20 12:36 UTC
Requires
- predis/predis: ^1.1
This package is auto-updated.
Last update: 2024-09-27 00:03:41 UTC
README
Async DB Helper
简介
有时我们会使用日志记录器或一些特殊的模型来记录用户数据,这些数据至关重要,但又不足以浪费宝贵的数据库连接和资源。例如,为模型创建审计记录。
为了帮助这种情况,你可以使用这个包。这个包将打算存储在数据库中的记录存储到redis,并按计划将它们移动到数据库。
如何使用
在希望异步处理的模型中使用AsyncDBHelpingTrait特质。它将覆盖模型的创建和保存方法。
- 在保存的情况下,如果模型不存在,则只会将其放入异步模式。
- 在您使用AsyncDBHelpingTrait的模型中,有两种方法可以定义,即beforeMoveToRedis和afterMoveToRedis。
- beforeMoveToRedis:正如其名所示,该函数在将数据从redis移动到数据库之前运行。在运行此函数时,模型将保持与redis中保存的数据相同的数据。
- afterMoveToRedis:此函数在将数据从redis移动到数据库之后运行。此时,模型将保留与redis中保存的所有数据以及主键值(id)。
从redis移动数据到数据库:
- 您可以通过定期运行move-to-db:redis命令来将数据从redis移动到数据库。
- 该命令接收一个可选参数batch_size,默认设置为1000。批处理大小是指一次从redis移动到数据库的记录数。