苏飞论坛

标题: javascript缓存类使用方法,把数据缓存到客户端 [打印本页]

作者: 站长苏飞    时间: 2013-7-16 08:56
标题: javascript缓存类使用方法,把数据缓存到客户端
写这类的目的是在很多情况下有些固定的数据我们要来回的切换,
这个时候就可以放在客户端,省去的服务器的压力而且提高的加载的速度
下面我把我的类共享一下给大家使用
类如下
  1. function CacheItem(key,value)
  2. {
  3.     this.key=key;
  4.     this.value=value;
  5. }

  6. function CacheInfo()
  7. {
  8.     this.Items = new Array();
  9.     this.GetItem = GetCacheItem;
  10.     this.Add = AddCacheItem;
  11.     this.Modify = ModifyCacheItem;
  12.     this.Remove = RemoveCacheItem;
  13.     this.Clear = ClearCacheItem;
  14. }

  15. function AddCacheItem(key,value)
  16. {
  17.     this.Items[this.Items.length] = new CacheItem(key,value);
  18. }

  19. function ModifyCacheItem(key,value)
  20. {
  21.     if(!this.Items) return;
  22.    
  23.     var i;
  24.     for(i=0;i < this.Items.length;i++)
  25.     {
  26.         if(this.Items[i])
  27.         {
  28.             if(this.Items[i].key == key)
  29.             {
  30.                 this.Items[i]=value;
  31.                 break;
  32.             }
  33.         }
  34.     }
  35. }

  36. function RemoveCacheItem(key)
  37. {
  38.     if(!this.Items) return;
  39.    
  40.     var i;
  41.     for(i=0;i < this.Items.length;i++)
  42.     {
  43.         if(this.Items[i])
  44.         {
  45.             if(this.Items[i].key == key)
  46.             {
  47.                 this.Items[i]=null;
  48.                 break;
  49.             }
  50.         }
  51.     }
  52. }

  53. function GetCacheItem(key)
  54. {
  55.     if(!this.Items) return null;
  56.    
  57.     var i;
  58.     var value = null;
  59.     for(i=0;i < this.Items.length;i++)
  60.     {
  61.         if(this.Items[i])
  62.         {
  63.             if(this.Items[i].key == key)
  64.             {
  65.                 value = this.Items[i].value;
  66.                 break;
  67.             }
  68.         }
  69.     }
  70.     return value;
  71. }

  72. function ClearCacheItem()
  73. {
  74.     if(!this.Items) return;
  75.    
  76.     var i;
  77.     for(i=0;i < this.Items.length;i++)
  78.     {
  79.         this.Items[i]=null;
  80.     }
  81. }

  82. var ScriptCache=new CacheInfo();
复制代码
添加的方法如下
[code=html]ScriptCache.Remove(ID);
    ScriptCache.Add(ID, res);[/code]
调取的方法
[code=html]    var r = ScriptCache.GetItem(ID);[/code]
使用很简单大家可以自己试试
[groupid=74]sufeinet总群[/groupid]




欢迎光临 苏飞论坛 (http://www.sufeinet.com/) Powered by Discuz! X3.4