So, the current implementation of the SettingsServiceProvider::boot() method prevents caching of the settings, forcing 2 queries (one to detect the table, one to load settings) on the DB. It's more efficient for larger sites to cache all settings in memcached or redis, instead of querying the DB on every page hit.
I looked into extending the provider, but that might be a bit messy.
If you define a static method for it on the Setting model, then using a config value to point at the FQCN. We could then override the Setting class and extend it to allow caching.
Just some food for thought.
So, the current implementation of the
SettingsServiceProvider::boot()method prevents caching of the settings, forcing 2 queries (one to detect the table, one to load settings) on the DB. It's more efficient for larger sites to cache all settings in memcached or redis, instead of querying the DB on every page hit.I looked into extending the provider, but that might be a bit messy.
If you define a static method for it on the
Settingmodel, then using a config value to point at the FQCN. We could then override the Setting class and extend it to allow caching.Just some food for thought.