diff --git a/lib/music_library/assets/cache.ex b/lib/music_library/assets/cache.ex index 91873696..8b63d318 100644 --- a/lib/music_library/assets/cache.ex +++ b/lib/music_library/assets/cache.ex @@ -1,15 +1,16 @@ defmodule MusicLibrary.Assets.Cache do def new do - :ets.new(__MODULE__, [:named_table, :public, read_concurrency: true]) + :ets.new(__MODULE__, [:named_table, :public, :compressed, read_concurrency: true]) end def set(payload, format, content) do - :ets.insert(__MODULE__, {{payload, format}, content}) + inserted_at = DateTime.utc_now() |> DateTime.to_unix() + :ets.insert(__MODULE__, {{payload, format}, inserted_at, content}) end def get(payload, format) do case :ets.lookup(__MODULE__, {payload, format}) do - [{{^payload, ^format}, content}] -> {:found, content} + [{{^payload, ^format}, _inserted_at, content}] -> {:found, content} [] -> :not_found end end