each process has a local setting cache (hashtable of name to content)
when process starts we load all settings and populate the cache, and save cache_refreshed_at time
on each request, we do a query that joins on log (or uses updated_at or revisions) to load all settings cards which have changed since last cache_refreshed_at. we update the cache for all those settings
setting lookup can now just look in the hashtable for values.
Issues
we're currently using setting_cards as well as just settings- to convert to pure settings we need to handle pointers, type settings on templates, permissions