Maison >interface Web >js tutoriel >Utilisation du cache dans AngularJS
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