Doctrine Second Level Cache (NONSTRICT_READ_WRITE) on: - Event, User, Category, Billet, BilletDesign - Default region: 1h TTL, short_lived region: 5min TTL Redis cache pools added: - app.cache.events (30min) — for event listings - app.cache.homepage (5min) — for homepage data - doctrine.result_cache_pool — DQL result cache via Redis - doctrine.system_cache_pool — metadata/query cache All pools backed by Redis DB 2. Reduces DB queries significantly for read-heavy pages (event listings, user profiles, categories). Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
55 lines
1.7 KiB
YAML
55 lines
1.7 KiB
YAML
doctrine:
|
|
dbal:
|
|
url: '%env(resolve:DATABASE_URL)%'
|
|
|
|
# IMPORTANT: You MUST configure your server version,
|
|
# either here or in the DATABASE_URL env var (see .env file)
|
|
#server_version: '16'
|
|
|
|
profiling_collect_backtrace: '%kernel.debug%'
|
|
orm:
|
|
validate_xml_mapping: true
|
|
naming_strategy: doctrine.orm.naming_strategy.underscore_number_aware
|
|
identity_generation_preferences:
|
|
Doctrine\DBAL\Platforms\PostgreSQLPlatform: identity
|
|
auto_mapping: true
|
|
mappings:
|
|
App:
|
|
type: attribute
|
|
is_bundle: false
|
|
dir: '%kernel.project_dir%/src/Entity'
|
|
prefix: 'App\Entity'
|
|
alias: App
|
|
|
|
when@test:
|
|
doctrine:
|
|
dbal:
|
|
# "TEST_TOKEN" is typically set by ParaTest
|
|
dbname_suffix: '_test%env(default::TEST_TOKEN)%'
|
|
|
|
when@prod:
|
|
doctrine:
|
|
orm:
|
|
query_cache_driver:
|
|
type: pool
|
|
pool: doctrine.system_cache_pool
|
|
result_cache_driver:
|
|
type: pool
|
|
pool: doctrine.result_cache_pool
|
|
second_level_cache:
|
|
enabled: true
|
|
region_cache_driver:
|
|
type: pool
|
|
pool: doctrine.result_cache_pool
|
|
regions:
|
|
default:
|
|
lifetime: 3600
|
|
cache_driver:
|
|
type: pool
|
|
pool: doctrine.result_cache_pool
|
|
short_lived:
|
|
lifetime: 300
|
|
cache_driver:
|
|
type: pool
|
|
pool: doctrine.result_cache_pool
|