gpt4 book ai didi

python - 如何清除缓存的查询?

转载 作者:行者123 更新时间:2023-12-01 03:40:40 27 4
gpt4 key购买 nike

我使用以下方法来缓存 SQL 查询的结果:

db(my_query).select(cache=(cache.ram, 3600), cacheable=True)

在某些情况下,我想在过期之前清除此缓存,这可以通过使用 cache.ram.clear(key) 来完成,但我实际上不知道 DAL 生成的 key 在前面的代码中。

我知道 cache=(cache.ram, 0) 也会清除缓存,但我也有执行查询的开销。

我怎样才能实现这个目标?

最佳答案

缓存键的复制有点复杂(它是数据库 URI 的 MD5 哈希加上为查询生成的 SQL)。作为替代方案,由于您有 cacheable=True,您可以使用自己的 key 直接调用 cache.ram:

rows = cache.ram('my_query', lambda: db(my_query).select(cacheable=True), 3600)

关于python - 如何清除缓存的查询?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39689315/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com