aboutsummaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
authorRoger Braun <roger@rogerbraun.net>2017-04-17 11:36:17 +0200
committerRoger Braun <roger@rogerbraun.net>2017-04-17 11:36:17 +0200
commit6bfd521974ea30a044874dbc6dd6f422925d0055 (patch)
tree87260fe649aa779c3d5352289abed3033802cefd /lib
parente158e32124a62f2c93a8910bf3edc4519c4a13e6 (diff)
downloadpleroma-6bfd521974ea30a044874dbc6dd6f422925d0055.tar.gz
Switch cache implementation for size limiting.
Diffstat (limited to 'lib')
-rw-r--r--lib/pleroma/application.ex9
-rw-r--r--lib/pleroma/user.ex11
2 files changed, 9 insertions, 11 deletions
diff --git a/lib/pleroma/application.ex b/lib/pleroma/application.ex
index e5bd17ced..86b6c0c1e 100644
--- a/lib/pleroma/application.ex
+++ b/lib/pleroma/application.ex
@@ -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
diff --git a/lib/pleroma/user.ex b/lib/pleroma/user.ex
index fdcc1b7d5..1ab4e40cb 100644
--- a/lib/pleroma/user.ex
+++ b/lib/pleroma/user.ex
@@ -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