zoukankan      html  css  js  c++  java
  • service $cacheFactory

    构造缓存对象并访问它们的工厂。

    var cache = $cacheFactory('cacheId');
    expect($cacheFactory.get('cacheId')).toBe(cache);
    expect($cacheFactory.get('noSuchCacheId')).not.toBeDefined();
    
    cache.put("key", "value");
    cache.put("another key", "another value");
    
    // We've specified no options on creation
    expect(cache.info()).toEqual({id: 'cacheId', size: 2});

    用法:$cacheFactory(cacheId, [options]);

    参数:cacheId String 新创建的缓存的名称或id。

       options(optional)指定缓存行为的选项对象。属性:{number=} capacity-将缓存转换为LRU缓存。

    返回:object 新创建的缓存对象,有以下方法:{object} info() — 返回id、大小和缓存的选项。{{*}} put({string} key, {*} value) — 将一个新的键值对放入缓存并返回它。{{*}} get({string} key) — 返回key对应的值。{void} remove({string} key) — 从缓存中删除键值对。{void} removeAll() — 清除所有缓存值。{void} destroy() — 从$cacheFactory删除对该缓存的引用。

    方法:

    info():获取已创建的所有缓存的信息。返回值:object 返回缓存的信息。

    get(cacheId):通过在创建时使用的cacheId访问缓存对象。参数:cacheId String 缓存的名字。返回值:object 缓存对象由cacheId标识,如果没有这样的缓存,也没有定义。

    例子:

    index.html

    <!DOCTYPE html>
    <html ng-app="indexApp">
    <head lang="en">
        <meta charset="UTF-8">
        <title>BookStore</title>
    </head>
    <body  ng-controller="firCtrl">
    <div>
        <input ng-model="newCacheKey" placeholder="Key">
        <input ng-model="newCacheValue" placeholder="Value">
        <button ng-click="put(newCacheKey, newCacheValue)">Cache</button>
    
        <p ng-if="keys.length">Cached Values</p>
        <div ng-repeat="key in keys">
            <span ng-bind="key"></span>
            <span>: </span>
            <b ng-bind="cache.get(key)"></b>
        </div>
    
        <p>Cache Info</p><!--输出的是cache缓存对象的信息-->
        <div ng-repeat="(key, value) in cache.info()">
            <span ng-bind="key"></span>
            <span>: </span>
            <b ng-bind="value"></b>
        </div>
    </div>
    <script src="framework/angular.js"></script>
    <script src="myJs/index.js"></script>
    </body>
    </html>

    script.js

    angular.module('indexApp',[])
        .controller('firCtrl',['$scope', '$cacheFactory', function($scope, $cacheFactory){
            $scope.keys = [];
            $scope.cache = $cacheFactory('cacheId');
            $scope.put = function(key, value) {
                if (angular.isUndefined($scope.cache.get(key))) {
                    $scope.keys.push(key);
                }
                $scope.cache.put(key, angular.isUndefined(value) ? null : value);
            };
        }]);
  • 相关阅读:
    MongoDB学习总结(二) —— 基本操作命令(增删改查)
    C#连接SQLite数据库方法
    第一章 算法在计算中的作用
    VS2010学习笔记
    centos+docker+jenkins
    git一些简单运用
    centos7 cannot find a valid baseurl for repo
    https://mirrors.ustc.edu.cn/dockerce/linux/centos/dockerce/repodata/repomd.xml:HTTPS Error 404 Not Found
    python路径相关处理
    python的excel处理之openpyxl
  • 原文地址:https://www.cnblogs.com/ms-grf/p/7054030.html
Copyright © 2011-2022 走看看