Add cache library

This commit is contained in:
Akira Tempaku 2025-05-18 21:41:47 +09:00
commit b67a0ef527
Signed by: paku
GPG key ID: 5B4E8402BCC50607
3 changed files with 19 additions and 11 deletions
src/lib

View file

@ -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)