带有 Sqlite 数据库的 Python lru_cache 装饰器

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

我有一个相对简单的 py 脚本,它在 Linux 中作为 Cronjob 每分钟执行一次,并使用 Sqlite3 库对 Sqlite 数据库执行 SELECT 查询。现在,这个 ScriptE 每分钟执行一次,检查是否有新记录。 SQL 查询只是一个简单的查询,它检索数据库中日期与 datetime.data.today() 匹配的所有记录。

因此,正如您可以想象的那样,这些查询返回的数据在调用期间几乎相同。

通常,每天期间,当天结束时,大约有 150 条记录(行)。

现在,我想知道使用 functools 中的 lru_cachse 装饰器是否有意义。最有可能的是,我不会看到性能有任何提高,因为 sql 查询执行得非常快,但我仍然想知道为此目的使用缓存是否有任何意义。

python-3.x sqlite python-lru-cache
1个回答
0
投票

lru_cachse 适合应用重复计算功能,正如你的描述,数据很少,你什么都不用做。如果你真的想要,也许你应该在你的缓存中记录最新的主键列表,你可以排除这些键在您的下一个查询中

© www.soinside.com 2019 - 2024. All rights reserved.