Switch cache implementation for size limiting.
This commit is contained in:
parent
e158e32124
commit
6bfd521974
5 changed files with 16 additions and 15 deletions
|
|
@ -14,10 +14,11 @@ defmodule Pleroma.Application do
|
|||
supervisor(Pleroma.Web.Endpoint, []),
|
||||
# Start your own worker by calling: Pleroma.Worker.start_link(arg1, arg2, arg3)
|
||||
# worker(Pleroma.Worker, [arg1, arg2, arg3]),
|
||||
supervisor(ConCache, [[
|
||||
ttl_check: :timer.seconds(1),
|
||||
ttl: :timer.seconds(5)
|
||||
], [name: :users]])
|
||||
worker(Cachex, [:user_cache, [
|
||||
default_ttl: 5000,
|
||||
ttl_interval: 1000,
|
||||
limit: 500
|
||||
]])
|
||||
]
|
||||
|
||||
# See http://elixir-lang.org/docs/stable/elixir/Supervisor.html
|
||||
|
|
|
|||
|
|
@ -78,15 +78,12 @@ defmodule Pleroma.User do
|
|||
end
|
||||
|
||||
def get_cached_by_ap_id(ap_id) do
|
||||
ConCache.get_or_store(:users, "ap_id:#{ap_id}", fn() ->
|
||||
# Return false so the cache will store it.
|
||||
Repo.get_by(User, ap_id: ap_id) || false
|
||||
end)
|
||||
key = "ap_id:#{ap_id}"
|
||||
Cachex.get!(:user_cache, key, fallback: fn(_) -> Repo.get_by(User, ap_id: ap_id) end)
|
||||
end
|
||||
|
||||
def get_cached_by_nickname(nickname) do
|
||||
ConCache.get_or_store(:users, "nickname:#{nickname}", fn() ->
|
||||
Repo.get_by(User, nickname: nickname) || false
|
||||
end)
|
||||
key = "nickname:#{nickname}"
|
||||
Cachex.get!(:user_cache, key, fallback: fn(_) -> Repo.get_by(User, nickname: nickname) end)
|
||||
end
|
||||
end
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue