summaryrefslogtreecommitdiff
path: root/src/site.clj
diff options
context:
space:
mode:
authorScott Ostler <scottbot9000@gmail.com>2010-08-30 17:57:19 -0400
committerScott Ostler <scottbot9000@gmail.com>2010-08-30 17:57:19 -0400
commitb492c944c67f7c1245926fe7f1096c0589f642ce (patch)
tree27994505b33f757d17624f35e9e289da087c97b6 /src/site.clj
parent4f0109cba3f656fa93643295e4eb8c4f47f43271 (diff)
Memoize directory contents with expiry of ten minutes
Diffstat (limited to 'src/site.clj')
-rw-r--r--src/site.clj6
1 files changed, 5 insertions, 1 deletions
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" "")