angulaire.js - Comment comprendre la capacité d'AngularJs $cacheFactory
过去多啦不再A梦
过去多啦不再A梦 2017-05-15 17:12:19
0
2
545


Comment comprendre les mots dans l'image, il est préférable d'avoir une démo

J'ai écrit une démo qui dépassait la limite de capacité : 3, mais la taille imprimée par cache.info() est la même à chaque fois. De plus, la clé dans $cacheFactory(key,[option]) peut-elle être uniquement une chaîne Comment définir plusieurs objets de cache à la fois

过去多啦不再A梦
过去多啦不再A梦

répondre à tous(2)
大家讲道理

Capacité équivaut à spécifier une capacité maximale utilisable pour le cache.
Pour un exemple simple, si vous avez 3 seaux (capacité=3) et que vous remplissez le premier seau d'eau (mis), alors il y a toujours 3 seaux. Remplissez un autre seau d'eau jusqu'à ce que le quatrième seau d'eau soit rempli. Puisqu'il n'y a que 3 seaux, il est évident que ce seau d'eau ne peut pas être rempli. Que dois-je faire ? Videz le premier seau d'eau et utilisez ce seau pour contenir le quatrième seau d'eau (stratégie de cache : LRU)
Vous pouvez jeter un œil à l'implémentation de $cacheFatory, vous devriez avoir une compréhension plus approfondie

某草草

la capacité implique le cache LRU (Least Recenlty Used, le moins récemment utilisé), tel que :

var lru = $cacheFactory('lru', {capacity: 20});

// $http请求
$http.get('/api/users.json', {cache: lru}).then(function(data){});

Maintenant, les 20 dernières demandes seront mises en cache. La 21ème requête amènera LRU à supprimer l’ancienne requête du cache.

Nous pouvons également définir un cache par défaut pour toutes les requêtes $http via la fonction .config() de l'application, c'est-à-dire la phase de configuration :

angular.module('myApp', [])
.config(function($httpProvider, $cacheFactory) {
    $httpProvider.defaults.cache = $cacheFactory('lru', {
        capacity: 20
    });
});
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal