Track asset cache inserted_at

This commit is contained in:
Claudio Ortolina
2025-09-20 08:05:30 +03:00
parent 90b3fa1fdc
commit 772de1751e
+4 -3
View File
@@ -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