mohit-yogi/async-db-helper

将模型数据保存到redis,然后稍后再将其移动到数据库

v1.0.0 2022-03-20 12:36 UTC

This package is auto-updated.

Last update: 2024-09-27 00:03:41 UTC


README

Async DB Helper

简介

有时我们会使用日志记录器或一些特殊的模型来记录用户数据,这些数据至关重要,但又不足以浪费宝贵的数据库连接和资源。例如,为模型创建审计记录。

为了帮助这种情况,你可以使用这个包。这个包将打算存储在数据库中的记录存储到redis,并按计划将它们移动到数据库。

如何使用

在希望异步处理的模型中使用AsyncDBHelpingTrait特质。它将覆盖模型的创建和保存方法。

  • 在保存的情况下,如果模型不存在,则只会将其放入异步模式。
  • 在您使用AsyncDBHelpingTrait的模型中,有两种方法可以定义,即beforeMoveToRedisafterMoveToRedis
  • beforeMoveToRedis:正如其名所示,该函数在将数据从redis移动到数据库之前运行。在运行此函数时,模型将保持与redis中保存的数据相同的数据。
  • afterMoveToRedis:此函数在将数据从redis移动到数据库之后运行。此时,模型将保留与redis中保存的所有数据以及主键值(id)。

从redis移动数据到数据库:

  • 您可以通过定期运行move-to-db:redis命令来将数据从redis移动到数据库。
  • 该命令接收一个可选参数batch_size,默认设置为1000。批处理大小是指一次从redis移动到数据库的记录数。