memoize auf der Festplatte - python - persistent memoization

Ist es ein Weg, um memoize die Ausgabe einer Funktion auf die Festplatte?

Habe ich eine Funktion

def getHtmlOfUrl(url):
    ... # expensive computation

und würde gerne etwas machen wie:

def getHtmlMemoized(url) = memoizeToFile(getHtmlOfUrl, "file.dat")

dann rufen Sie getHtmlMemoized(url), um so zu tun, teuer Berechnung nur einmal für jede url.

  • Nur Gurke (oder json verwenden) den cache dict.
  • vielen Dank, aber ich bin ein python Neuling (zweiten Tag). Ich habe nicht die geringste Ahnung, was du meinst...
  • Fein, also, was Sie tun, wie ein Neuling ist nach "python-pickle" in Google, und kommen zurück zu uns, wenn Sie weitere Fragen.
  • Anstatt zu versuchen, neu zu erfinden das Rad, hier ist eine Bibliothek, die das tut Recht gut und ist robust gegen alle Arten von Ecke zu Fällen, die Sie nicht erwarten, bis viel später (Parallelität, disk usage, thundering Herd): bitbucket.org/zzzeek/dogpile.cache
  • Sie können die Bibliothek verwenden redis-simple-cache, die tut genau das, anhaltende memoisation von Funktionsaufrufen. Überprüfen Sie es heraus : github.com/vivekn/redis-simple-cache
InformationsquelleAutor seguso | 2013-05-09
Schreibe einen Kommentar