feat: server side caching
This commit implements server side caching for the preview cards. This should
reduce load time quite a bit, once at least one person has loaded it. Expiry is
24 hours.
There is also an endpoint at /api/caching/invalidate to clear the cache.