From b492c944c67f7c1245926fe7f1096c0589f642ce Mon Sep 17 00:00:00 2001 From: Scott Ostler Date: Mon, 30 Aug 2010 17:57:19 -0400 Subject: Memoize directory contents with expiry of ten minutes --- src/site.clj | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) (limited to 'src/site.clj') diff --git a/src/site.clj b/src/site.clj index 5253f88..297f4a5 100644 --- a/src/site.clj +++ b/src/site.clj @@ -616,10 +616,14 @@ WHERE u.user_id = ANY(?) (map process-directory-entry (add-recent-posts (get-user-ranking offset *per-directory-page*)))) + +(def directory-cache-ttl (minutes 10)) +(def memoized-get-directory-info + (ttl-memoize get-directory-info directory-cache-ttl)) (defn directory [session offset] (let [st (fetch-template "directory" session) - users (get-directory-info offset)] + users (memoized-get-directory-info offset)] (.setAttribute st "users" users) (cond (= offset 0) (.setAttribute st "prev" false) (= offset 1) (.setAttribute st "prev" "") -- cgit v1.2.3-70-g09d2