v3.0.0
Added
- Atomic cache spaces for Redis Cluster: declare
$normCacheSpaces, select one with->space(), and run cache operations in one hash slot. - Space-targeted flushing: use
NormCache::flushAll('space')orphp artisan normcache:flush --space=.... - Cache-space coverage: relations, pivot data, and table dependencies participate in cache-space invalidation.
Changed
- BREAKING: model-declared cache spaces replace the
clusterandslottingconfiguration. Runphp artisan normcache:flushbefore deploying. dependsOnTables()supports named cache spaces.
Fixed
- Cache isolation across declared spaces and database connections, including
Model::on()queries and writes. - Repeated
dependsOn()calls no longer discard previously declared model dependencies. - Stale cache entries are not written when a cache rebuild races an invalidating write.
- Table-dependency invalidation remains visible across application workers.
- Eloquent observers see invalidated cache state while a model is being saved.
Full Changelog: v2.4.0...v3.0.0