Almacenamiento en caché de costosos cálculos en elixir
Tengo una aplicación web en elixir que se ve así
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
Cada vez que emito unGET
solicitud de/randomElement
, expensiveComputation
se llama. losexpensiveComputation
La función tarda mucho tiempo en ejecutarse, pero devuelve lo mismo cada vez que se llama. ¿Cuál es la forma más sencilla de almacenar en caché el resultado para que se ejecute solo una vez en el inicio?