|
All checks were successful
deploy / deploy (push) Successful in 1m26s
Every shop page load was triggering ~18 DB queries for data that rarely changes (theme settings, nav items, categories, shipping countries, logo, header image). On a shared-cpu-1x Fly machine with SQLite this was the primary performance bottleneck. - Add SettingsCache GenServer+ETS for all non-encrypted settings - Cache list_categories() with single-query N+1 fix (correlated subquery) - Cache list_available_countries_with_names() in shipping - Cache Media.get_logo() and Media.get_header() - Remove duplicate LoadTheme plug from :shop and :admin pipelines - Invalidate caches on writes (put_setting, product sync, media upload) - Clear caches between tests via DataCase/ConnCase setup Per-page queries reduced from ~18 to ~2. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> |
||
|---|---|---|
| .. | ||
| components | ||
| controllers | ||
| live | ||
| plugs | ||
| admin_layout_hook.ex | ||
| analytics_hook.ex | ||
| cart_hook.ex | ||
| endpoint.ex | ||
| gettext.ex | ||
| newsletter_hook.ex | ||
| not_found_error.ex | ||
| oban_resolver.ex | ||
| page_editor_hook.ex | ||
| page_renderer.ex | ||
| router.ex | ||
| search_hook.ex | ||
| telemetry.ex | ||
| theme_hook.ex | ||
| user_auth.ex | ||