Skip to content

Commit deb054e

Browse files
authored
fix(cache): Add new @version data to cache key (#3506)
1 parent 8e4ae6b commit deb054e

2 files changed

Lines changed: 7 additions & 4 deletions

File tree

‎lib/dotcom/cache/key_generator.ex‎

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,8 @@ defmodule Dotcom.Cache.KeyGenerator do
33
Generate a readable cache key based on the module, function, and arguments.
44
"""
55

6+
@version Application.compile_env(:dotcom, :version)
7+
68
@behaviour Nebulex.Caching.KeyGenerator
79

810
@impl Nebulex.Caching.KeyGenerator
@@ -12,7 +14,7 @@ defmodule Dotcom.Cache.KeyGenerator do
1214
module_name =
1315
Util.get_or_save_persistent_term({:key_generator, mod}, fn -> clean_mod(mod) end)
1416

15-
"#{module_name}|#{fun}|#{unique_id}"
17+
"#{module_name}|#{fun}|#{unique_id}|#{@version}"
1618
end
1719

1820
defp clean_mod(mod) do

‎lib/dotcom_web/controllers/cache_controller.ex‎

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -54,7 +54,7 @@ defmodule DotcomWeb.CacheController do
5454
|> Map.update!(:structured_keys, &nest_by_mod_and_fun/1)
5555
end
5656

57-
defp parse_structured([mod, fun, base_64_args]) do
57+
defp parse_structured([mod, fun, base_64_args, version]) do
5858
base_64_args
5959
|> Base.decode64()
6060
|> case do
@@ -63,7 +63,8 @@ defmodule DotcomWeb.CacheController do
6363
type: :structured_keys,
6464
mod: mod,
6565
fun: fun,
66-
args: decoded
66+
args: decoded,
67+
version: version
6768
}
6869

6970
_ ->
@@ -225,7 +226,7 @@ defmodule DotcomWeb.CacheController do
225226
226227
<ul>
227228
<li :for={key <- key_list |> Enum.sort_by(& &1.args)}>
228-
<.key_link key={key.raw} display={key.args} />
229+
<.key_link key={key.raw} display={"#{key.args} / #{key.version}"} />
229230
</li>
230231
</ul>
231232
</div>

0 commit comments

Comments
 (0)