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?

Respuestas a la pregunta(2)

Su respuesta a la pregunta