diff --git a/docs/navigation.php b/docs/navigation.php index f985c15..0d3166a 100644 --- a/docs/navigation.php +++ b/docs/navigation.php @@ -79,6 +79,7 @@ return [ 'Tenants' => 'tenants', 'Central App' => 'central-app', 'Universal Routes' => 'universal-routes', + 'Cacheed Tenant Lookup' => 'cached-tenant-lookup', 'Custom Database Names' => 'custom-database-names', 'Custom DB Connections' => 'custom-db-connections', 'Disabling DB Creation' => 'disabling-db-creation', diff --git a/docs/source/v2/cached-tenant-lookup.blade.md b/docs/source/v2/cached-tenant-lookup.blade.md new file mode 100644 index 0000000..7646df6 --- /dev/null +++ b/docs/source/v2/cached-tenant-lookup.blade.md @@ -0,0 +1,16 @@ +--- +title: Cached Tenant Lookup +description: Cached Tenant Lookup +extends: _layouts.documentation +section: content +--- + +# Cached Tenant Lookup {#cached-tenant-lookup} + +If you're using the database storage driver, you may want to cache tenant lookup (domain -> tenant id -> `Tenant` object mapping). Running DB queries on each request to identify the tenant is somewhat expensive, as a separate database connection has to be established. + +To avoid this, you may want to enable caching. + +You may enable this feature by setting the `tenancy.storage_drivers.db.cache_store` config key to the name of your cache store (e.g. `redis`), and optionally setting `cache_ttl` (default is 3600 seconds). + +The cache invalidation of course happens automatically, as long as you modify your tenants using `Tenant` objects and not direct DB calls.