回调
提交和回滚事务有两种类型的回调:after_commit
和 after_rollback
。
在事务提交后立即在事务中保存或销毁的每个记录上调用 after_commit
回调。在事务或保存点回滚后立即在事务中保存或销毁的每个记录上调用 after_rollback
回调。
这些回调对于与其他系统交互很有用,因为可以保证只在数据库处于永久状态时才执行回调。例如,after_commit
是放置缓存以清除缓存的好地方,因为从事务中清除它可能会在数据库更新之前触发缓存重新生成。