调试 peewee 缓存命中

问题描述 投票:0回答:1

文档说:

默认情况下,peewee 将缓存迭代 Select 查询时返回的行。

我想在 peewee 命中或错过此缓存时进行调试。

查看源代码,不同地方使用了

row_cache
。我应该在哪里插入
logger
电话?

我已经激活了 peewee 查询日志记录。如果查询记录在那里,是否意味着它是缓存未命中?

caching peewee
1个回答
0
投票

我已经激活了 peewee 查询日志记录。如果查询记录在那里,是否意味着它是缓存未命中?

是的。

行缓存仅缓存行,因此对相同查询结果的多次迭代不会导致多次执行。

示例:

q = User.select()
# Query is executed:
for user in q:
    print(user.email)

# Query is **not** re-executed.
for user in q:
    print(user.email)

q2 = User.select()
# Query is executed:
for user in q2:
    print(user.email)
© www.soinside.com 2019 - 2024. All rights reserved.