angular.js - Bagaimana untuk memahami angularjs $cacheFactory capacity
过去多啦不再A梦
过去多啦不再A梦 2017-05-15 17:12:19
0
2
549


Cara memahami perkataan dalam gambar, sebaiknya buat demo

Saya menulis demo yang melebihi had kapasiti: 3, tetapi saiz yang dicetak oleh cache.info() adalah sama setiap kali. Selain itu, bolehkah kunci dalam $cacheFactory(key,[option]) hanya menjadi rentetan Bagaimana untuk mentakrifkan berbilang objek cache pada satu masa

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

membalas semua(2)
大家讲道理

kapasiti adalah bersamaan dengan menentukan kapasiti maksimum yang boleh digunakan untuk cache.
Untuk contoh mudah, jika anda mempunyai 3 baldi (kapasiti=3) dan anda mengisi baldi pertama air (letakkan), maka ia masih mempunyai 3 baldi. Isikan satu baldi air lagi sehingga baldi air yang keempat terisi Memandangkan hanya ada 3 baldi, nampaknya baldi air ini tidak boleh diisi. Buang baldi air pertama dan gunakan baldi ini untuk memegang baldi air keempat (strategi cache: LRU)
Anda boleh lihat pelaksanaan $cacheFatory, anda sepatutnya mempunyai pemahaman yang lebih mendalam

某草草

kapasiti melibatkan cache LRU (Least Recenlty Used, least recent used), seperti:

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

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

Kini, 20 permintaan terkini akan dicache. Permintaan ke-21 akan menyebabkan LRU mengalih keluar permintaan lama daripada cache.

Kami juga boleh menetapkan cache lalai untuk semua permintaan $http melalui fungsi .config() aplikasi, iaitu fasa konfigurasi:

angular.module('myApp', [])
.config(function($httpProvider, $cacheFactory) {
    $httpProvider.defaults.cache = $cacheFactory('lru', {
        capacity: 20
    });
});
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan