Кеширование дорогих вычислений в эликсире

У меня есть веб-приложение в эликсире, которое выглядит так

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

Всякий раз, когда я выпускаюGET запросить/randomElement, expensiveComputation вызывается.expensiveComputation функция занимает много времени, но возвращает одно и то же при каждом вызове. Какой самый простой способ кэшировать результат, чтобы он запускался только один раз при запуске?

Ответы на вопрос(2)

Ваш ответ на вопрос