Caching teure Berechnung in Elixier
Ich habe eine Webanwendung in Elixir, die so aussieht
defmodule Test do
use Plug.Router
plug :match
plug :dispatch
def expensiveComputation() do
// performs an expensive computation and
// returns a list
end
get "/randomElement" do
randomElement = expensiveComputation() |> Enum.random
send_resp(conn, 200, randomElement)
end
end
Wenn ich ein @ ausstelGET
Anfrage zu/randomElement
, expensiveComputation
wird gerufen. DasexpensiveComputation
ie Ausführung der @ -Funktion dauert sehr lange, sie gibt jedoch bei jedem Aufruf dasselbe zurück. Was ist der einfachste Weg, um das Ergebnis zwischenzuspeichern, damit es beim Start nur einmal ausgeführt wird?