Maison  >  Article  >  interface Web  >  Utilisation du cache dans AngularJS

Utilisation du cache dans AngularJS

高洛峰
高洛峰original
2017-01-13 15:33:101070parcourir

Mise en cache

Un cache est un composant qui peut stocker des données de manière transparente afin que les futures demandes puissent être traitées plus rapidement. L'obtention répétée de ressources peut entraîner une duplication des données et prendre du temps. Par conséquent, la mise en cache convient à certaines données peu variables. Plus le cache peut traiter de requêtes, plus les performances globales du système peuvent être améliorées.

$cacheFactory et objets de cache

$cacheFactory est un service qui produit des objets de cache pour les services Angular. Pour créer un objet cache, utilisez $cacheFactory en transmettant un ID et une capacité. Parmi eux, ID est le nom d'un objet de cache et la capacité décrit le nombre maximum de paires clé-valeur du cache. Pour donner un exemple frappant, $cacheFactory est la locataire. Elle a un immeuble avec des grandes et petites maisons à louer Tant que vous donnez suffisamment d'argent, le locataire vous louera la maison (obtenez l'objet cache). son numéro de chambre (ID) et la taille de la chambre (capacité-capacité).

var myCache = $cacheFactory('myCache');

Parmi eux, l'objet cache a les méthodes suivantes

1 myCache.info() renvoie l'ID, la taille et les options de l'objet cache

Parmi elles, l'objet cache a les méthodes suivantes

1. 🎜>

2. myCache.put() nouvelle paire clé-valeur et placez-la dans l'objet de cache myCache.put("name", "Ben")

3. renvoie la valeur de cache correspondante, si elle n'est pas trouvée, elle renvoie undefined myCache.get("name")

4. myCache.remove() supprime la paire clé-valeur de l'objet de cache correspondant myCache.remove(" name")

$http({
   method: 'GET',
   url: 'api/user.json',
   cache: true
})
5. myCache.remvoeAll() efface l'objet cache

La méthode cache

$http() dans $http nous permet de passer un paramètre de cache. Le cache $http par défaut est particulièrement utile lorsque les données ne changent pas fréquemment. Parmi eux, l'objet de cache $http par défaut est var cache = $cacheFactory('$http'); Vous pouvez le définir comme ceci

$http({
   method: 'GET',
   url: 'api/user.json',
   cache: myCache
})
où la valeur de la clé de cache est url , var userCache = cache.get('api/user.json')

Cache personnalisé

Il est également très simple de faire en sorte que $http lance une requête via un cache personnalisé, il suffit de définir le valeur du cache Pour le nom de l'objet de cache correspondant, vous pouvez
app.config(function($httpProvider){
$httpProvider.defaults.cache = $cacheFactory('myCache',{capacity: 20})


ou définir l'objet de cache pour chaque requête $http via la configuration de configuration, au lieu d'aller à chaque $http comme dans le exemple ci-dessus. Ajoutez la configuration à la requête

Parmi eux, la capacité utilisera "l'algorithme du cache récent le plus longtemps inutilisé", c'est-à-dire si la capacité du cache est de 20. , 20 caches ont été mis en cache, lorsque le 21ème souhaite être mis en cache, la paire clé-valeur de cache inutilisée la plus longue et la plus petite sera effacée pour laisser de la place au 21ème cache. Ce qui précède représente l'intégralité du contenu de cet article. J'espère qu'il sera utile à l'apprentissage de chacun. J'espère également que tout le monde soutiendra le site Web PHP chinois. Pour plus d'articles liés à l'utilisation du cache dans AngularJS, veuillez faire attention au site Web PHP chinois !
Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn