Lassen Sie @lru_cache einige der Funktionsargumente ignorieren

Post a reply

Smilies
:) :( :oops: :chelo: :roll: :wink: :muza: :sorry: :angel: :read: *x) :clever:
View more smilies

BBCode is ON
[img] is ON
[flash] is OFF
[url] is ON
Smilies are ON

Topic review
   

Expand view Topic review: Lassen Sie @lru_cache einige der Funktionsargumente ignorieren

by Guest » 12 Jan 2025, 17:34

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.

Top