Add cache library
This commit is contained in:
parent
fdad470f0e
commit
45603a27bf
3 changed files with 17 additions and 11 deletions
src
15
src/lib/cache.lisp
Normal file
15
src/lib/cache.lisp
Normal file
|
@ -0,0 +1,15 @@
|
|||
(defpackage #:website/lib/cache
|
||||
(:use #:cl)
|
||||
(:import-from #:function-cache
|
||||
#:defcached
|
||||
#:clear-cache)
|
||||
(:export #:memorize
|
||||
#:clear-cache))
|
||||
(in-package #:website/lib/cache)
|
||||
|
||||
(defmacro memorize (name)
|
||||
(let ((origin (gensym)))
|
||||
`(progn
|
||||
(setf (fdefinition ',origin) (fdefinition ',name))
|
||||
(defcached ,name (&rest args)
|
||||
(apply #',origin args)))))
|
|
@ -3,11 +3,11 @@
|
|||
(:import-from #:microcms
|
||||
#:define-list-client
|
||||
#:define-object-client)
|
||||
(:import-from #:function-cache
|
||||
#:defcached)
|
||||
(:import-from #:website/lib/env
|
||||
#:microcms-service-domain
|
||||
#:microcms-api-key)
|
||||
(:import-from #:website/lib/cache
|
||||
#:memorize)
|
||||
(:export #:get-about
|
||||
#:get-works
|
||||
#:get-blog-list
|
||||
|
@ -17,13 +17,6 @@
|
|||
(setf microcms:*service-domain* (microcms-service-domain))
|
||||
(setf microcms:*api-key* (microcms-api-key))
|
||||
|
||||
(defmacro memorize (name)
|
||||
(let ((origin (gensym)))
|
||||
`(progn
|
||||
(setf (fdefinition ',origin) (fdefinition ',name))
|
||||
(defcached ,name (&key query)
|
||||
(,origin :query query)))))
|
||||
|
||||
(define-object-client about)
|
||||
(memorize get-about)
|
||||
|
||||
|
|
|
@ -1,8 +1,6 @@
|
|||
(defpackage #:website/routes/api/revalidate
|
||||
(:use #:cl
|
||||
#:jingle)
|
||||
(:import-from #:function-cache
|
||||
#:clear-cache)
|
||||
(:import-from #:website/lib/env
|
||||
#:microcms-webhook-key)
|
||||
(:import-from #:website/helper
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue