我们可以通过Ctx
方法传递自定义的上下文变量给对象,Ctx
方法其实是一个链式操作方法,该上下文传递进去后仅对当前DB
接口对象有效,方法定义如下:
请求超时控制
我们来看一个通过上下文变量控制请求超时时间的示例。
链路跟踪信息
上下文变量也可以传递链路跟踪信息,并且可以和日志组件结合,将链路信息打印到日志中(仅当日志开启时),具体请参考链路跟踪专题介绍章节:
模型上下文操作
模型对象也支持上下文变量的传递,同样也是通过Ctx
方法。我们来看一个简单的示例,我们将示例2的例子通过模型操作调整一下。
其中SHOW FULL COLUMNS FROM `user`
为ORM
组件的数据表字段获取查询,每个表在执行操作之前仅会查询一次并缓存结果到内存中。
嵌套事务支持
嵌套事务的支持依赖上下文变量的层级传递,具体请参考章节:ORM事务处理