Armazenamento em cache da computação cara no elixir

Eu tenho um aplicativo da web no elixir que se parece com isso

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

Sempre que eu emitir umGET pedido para/randomElement, expensiveComputation é chamado. oexpensiveComputation A função demora muito para ser executada, mas retorna a mesma coisa toda vez que é chamada. Qual é a maneira mais simples de armazenar em cache o resultado para que seja executado apenas uma vez na inicialização?

questionAnswers(2)

yourAnswerToTheQuestion