mirror of
https://github.com/silverstripe/silverstripe-framework
synced 2024-10-22 14:05:37 +02:00
MINOR Documentation for Aggregate caching
git-svn-id: svn://svn.silverstripe.com/silverstripe/open/modules/sapphire/trunk@114077 467b73ca-7a2a-4603-9d3b-597d59a354a9
This commit is contained in:
parent
9ac991636e
commit
6ccd6d61bd
@ -21,6 +21,10 @@
|
|||||||
*
|
*
|
||||||
* Aggregates are often used as portions of a cacheblock key. They are therefore cached themselves, in the 'aggregate'
|
* Aggregates are often used as portions of a cacheblock key. They are therefore cached themselves, in the 'aggregate'
|
||||||
* cache, although the invalidation logic prefers speed over keeping valid data.
|
* cache, although the invalidation logic prefers speed over keeping valid data.
|
||||||
|
* The aggregate cache is cleared through {@link DataObject::flushCache()}, which in turn is called on
|
||||||
|
* {@link DataObject->write()} and other write operations.
|
||||||
|
* This means most write operations to the database will invalidate the cache correctly.
|
||||||
|
* Use {@link Aggregate::flushCache()} to manually clear.
|
||||||
*
|
*
|
||||||
* NOTE: The cache logic uses tags, and so a backend that supports tags is required. Currently only the File
|
* NOTE: The cache logic uses tags, and so a backend that supports tags is required. Currently only the File
|
||||||
* backend (and the two-level backend with the File backend as the slow store) meets this requirement
|
* backend (and the two-level backend with the File backend as the slow store) meets this requirement
|
||||||
@ -98,6 +102,7 @@ class Aggregate extends ViewableData {
|
|||||||
|
|
||||||
$query = $this->query("$func(\"$table\".\"$attribute\")");
|
$query = $this->query("$func(\"$table\".\"$attribute\")");
|
||||||
|
|
||||||
|
// Cache results of this specific SQL query until flushCache() is triggered.
|
||||||
$cachekey = sha1($query->sql());
|
$cachekey = sha1($query->sql());
|
||||||
$cache = self::cache();
|
$cache = self::cache();
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user