Caching
Ein Cache ist eine Komponente, die Daten transparent speichern kann, damit zukünftige Anfragen schneller bearbeitet werden können. Das wiederholte Abrufen von Ressourcen kann zu Datenduplizierungen führen und Zeit in Anspruch nehmen. Daher ist Caching für einige Daten mit geringer Variabilität geeignet. Je mehr Anfragen der Cache bedienen kann, desto mehr kann die Gesamtsystemleistung verbessert werden.
$cacheFactory und Cache-Objekte
$cacheFactory ist ein Dienst, der Cache-Objekte für Angular-Dienste erstellt. Um ein Cache-Objekt zu erstellen, verwenden Sie $cacheFactory und übergeben dabei eine ID und Kapazität. Dabei ist ID der Name eines Cache-Objekts und Kapazität beschreibt die maximale Anzahl von Cache-Schlüssel-Wert-Paaren. Um ein anschauliches Beispiel zu nennen: $cacheFactory ist der Mieter eines Gebäudes mit großen und kleinen Häusern. Solange Sie genug Geld geben, wird der Mieter das Haus an Sie vermieten (das Cache-Objekt erhalten). seine Raumnummer (ID) und Raumgröße (Kapazität-Kapazität).
var myCache = $cacheFactory('myCache');
Unter diesen verfügt das Cache-Objekt über die folgenden Methoden
1 myCache.info() gibt die ID, Größe und Optionen des Cache-Objekts zurück
2. myCache.put() neues Wert-Schlüssel-Wert-Paar und in das Cache-Objekt myCache.put("name", "Ben") einfügen
3. gibt den entsprechenden Cache-Wert zurück, wenn er nicht gefunden wird, gibt er undefiniertes myCache.get("name") zurück
4. entfernt das Schlüssel-Wert-Paar aus dem entsprechenden Cache-Objekt myCache.remove(" name")
5. myCache.remvoeAll() löscht das Cache-Objekt
Die Cache-Methode
$http() in $http ermöglicht uns die Übergabe eines Cache-Parameters. Der standardmäßige $http-Cache ist besonders nützlich, wenn sich die Daten nicht häufig ändern. Unter diesen ist das standardmäßige $http-Cache-Objekt var cache = $cacheFactory('$http'); Sie können es wie folgt festlegen:
$http({ method: 'GET', url: 'api/user.json', cache: true })
wobei der Cache-Schlüsselwert eine URL ist , var userCache = cache.get('api/user.json')
Benutzerdefinierter Cache
Es ist auch sehr einfach, $http dazu zu bringen, eine Anfrage über einen benutzerdefinierten Cache zu initiieren, legen Sie einfach den fest Cache-Wert Für den entsprechenden Cache-Objektnamen können Sie
$http({ method: 'GET', url: 'api/user.json', cache: myCache })
oder das Cache-Objekt für jede $http-Anfrage über die Konfigurationskonfiguration festlegen, anstatt zu jedem $http zu gehen, wie im Beispiel oben. Konfiguration zur Anfrage hinzufügen
app.config(function($httpProvider){ $httpProvider.defaults.cache = $cacheFactory('myCache',{capacity: 20})
Unter diesen wird für die Kapazität der „Letzte Cache-Algorithmus verwendet, der am längsten nicht verwendet wird“, d. h. wenn die Cache-Kapazität 20 beträgt. Es wurden 20 Caches zwischengespeichert. Wenn der 21. Cache zwischengespeichert werden soll, wird das längste und kleinste ungenutzte Cache-Schlüssel-Wert-Paar gelöscht, um Platz für den 21. Cache zu schaffen.
Das Obige ist der gesamte Inhalt dieses Artikels. Ich hoffe, dass er zum Lernen aller beiträgt. Ich hoffe auch, dass jeder die PHP-Chinesisch-Website unterstützt.
Weitere Artikel zur Cache-Nutzung in AngularJS finden Sie auf der chinesischen PHP-Website!