Da ich neu im Cache-Mechanismus bin, ging ich durch die yii2 documentation. Wie in der Dokumentation, habe ich die untenstehende Konfiguration in db.php in der yii2-Basisanwendung hinzugefügt.Wie kann der yii2-Cache korrekt angewendet werden?
<?php
return [
'class' => 'yii\db\Connection',
'dsn' => 'mysql:host=localhost;dbname=db_new',
'username' => 'root',
'password' => 'root123',
'charset' => 'utf8',
'enableQueryCache' => true,
'queryCacheDuration' => 86400,
'enableSchemaCache' => true,
// Name of the cache component used to store schema information
'schemaCache' => 'cache',
// Duration of schema cache.
'schemaCacheDuration' => 86400, // 24H it is in seconds
];
Ich habe auch die Cache-Komponente in web.php
'components' => [
'cache' => [
'class' => 'yii\caching\ApcCache'
]
]
Und den Code unten hinzugefügt, während eine Aufzeichnung von Kunden-Tabelle abruft.
$db = Clients::getDb();
$client = $db->cache(function ($db)use($id) {
return Clients::find()->where(['id' => $id])->all();
});
Ich nehme an, meine Client-Tabelle ein Datensatz ex) $ id = 3 ist zwischengespeichert. Wenn ich also das nächste Mal versuche, denselben Datensatz aus der Client-Tabelle zu holen, wird er aus dem Cache nicht von Grund auf neu angelegt.
Meine Fragen sind
- Was ich oben ist tat dies richtig oder alles, was ich mehr konfigurieren müssen?
- Wo es im lokalen System gespeichert wird.
Vielen Dank im Voraus.
Haben Sie Apc Cache in Ihrem Server installieren? – ThanhPV
Sieht korrekt aus. Hast du irgendwelche Probleme damit? Vergessen Sie nicht die Cache-Invalidierung, wenn die Daten im Cache geändert werden können ... http://www.yiiframework.com/doc-2.0/guide-caching-data.html#cache-dependencies – oakymax
@ThanhPV Nein, ich ' Ich habe nichts installiert, was mit dem Cache zu tun hat. –