Wie kann ich den @functools.lru_cache-Dekorator dazu bringen, einige der Funktionsargumente in Bezug auf den Caching-Schlüssel zu ignorieren?
Zum Beispiel habe ich eine Funktion das sieht so aus:
Code: Select all
def find_object(db_handle, query):
# (omitted code)
return result
Wenn ich den Decorator lru_cache einfach so anwende, wird db_handle in den Cache-Schlüssel aufgenommen. Wenn ich daher versuche, die Funktion mit derselben Abfrage, aber einem anderen db_handle aufzurufen, wird sie erneut ausgeführt, was ich vermeiden möchte. Ich möchte, dass lru_cache nur das Abfrageargument berücksichtigt.