`
liushilang
  • 浏览: 89372 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

可实现缓存的一个JS类

阅读更多
测试通过
var adder = function(n){
	var t = 10;
	var org = n+"-"+Math.random();
	return{ 
		getinfo:function(){
			document.writeln("\n\t"+org);
			return n+t;
		  }
	   };
 };

var CachedSearchBox = (function(){
	var cache = {},count = [],totalCount = 20;
	
	return {
		attachSearchBox:function(dsid){
		  if(dsid in cache){
			 print("old:::"+cache[dsid].getinfo());
			return cache[dsid];
		}
		var fsb = new adder(dsid);
		print("new::::"+fsb.getinfo());
		cache[dsid] = fsb;
		if(count.length>=totalCount){		    
			var out = count.shift();
			print("del::::::::::::"+out.getinfo())
			delete cache[out];
		}
		count.push(fsb);
		return fsb;
	  },
	   clearSearchBox:function(dsid){
		if(dsid in cache){
			//cache[dsid].clearSelection();
			delete cache[dsid];
			count.shift();
		}
	  },
	  getcount:function(){//获取对象的长度
	    print("array length:"+count.length);
		return count.length;
	  },
	  setTotalCount:function(c){//设置缓存大小
		totalCount = c;
	  }
};
})();

CachedSearchBox.getcount();
print("<br>");

(function(){
   for(var i=0;i<100;i++){
     CachedSearchBox.attachSearchBox(Math.ceil(Math.random()*120))
	  print("~~~~~");
	  CachedSearchBox.getcount();
      print("<br>");
	  if(i==30)
		CachedSearchBox.setTotalCount(40);
   }
})();

function print(a1){
	document.writeln(a1+"\n\t");
}

 

分享到:
评论

相关推荐

    Map实现web缓存

    一个使用map实现web缓存的工具类 可供web应用开发参考

    使用localStorage缓存js

    例如,如果你有一个名为 `app.js` 的JavaScript文件,你可以将它的内容编码为Base64字符串,然后存储: ```javascript const jsCode = 'your_app_js_code_here'; const base64EncodedCode = btoa(jsCode); ...

    JS渐进式缓存

    Service Worker是浏览器的一个后台脚本,它可以拦截网络请求,管理缓存,并在离线时提供内容。它不直接与用户交互,而是作为主页面和网络之间的中间人。Service Worker的生命周期独立于网页,这意味着即使用户关闭了...

    Node.js-一个使用最近最少使用策略的node轻量级快速缓存管理器

    标题中的“Node.js-一个使用最近最少使用策略的node轻量级快速缓存管理器”指的是一款基于Node.js的缓存管理工具,它采用了最近最少使用(Least Recently Used, LRU)策略来优化内存使用。LRU是一种常见的页面替换...

    vbsIE缓存一键清理

    在这个场景中,VBScript被用来编写一个简单程序,实现一键清理IE浏览器的缓存。 2. **IE(Internet Explorer)缓存**: Internet Explorer(IE)是微软公司开发的网页浏览器,它有一个本地缓存系统,用于存储用户...

    【JavaScript源代码】vue keepAlive缓存清除问题案例详解.docx

    在Vue.js应用中,`&lt;keep-alive&gt;`组件是一个非常重要的特性,它允许我们缓存组件的状态,使得组件在切换时能保持之前的状态,提高用户体验。然而,如何精确控制哪些组件应该被缓存,哪些不应该,特别是在不同条件下,...

    JS前端数据缓存,用于富交互的前端数据缓存

    例如,`DataStore.js`可能是一个实现数据缓存的库,它封装了上述的存储方式,提供统一的API供开发者使用。开发者可以使用`DataStore.get()`和`DataStore.set()`等方法来读写数据,而无需关心底层实现。同时,`...

    Node.js-基于Redis的Node.jsLRU缓存

    通过结合Node.js和Redis,我们可以创建一个高效、可扩展的LRU缓存解决方案。这个解决方案利用了Redis的内存存储特性以及Node.js的非阻塞I/O模型,为Web应用提供了快速的数据访问。在实际项目中,可以根据需求调整...

    tomcat缓存

    Tomcat缓存是Apache Tomcat服务器中用于提升性能的一个重要机制。它允许Tomcat存储已处理的静态资源或动态内容的副本,以便后续请求时能够快速响应,减少对磁盘和网络I/O的依赖,从而提高应用的整体响应速度。本文将...

    Node.js-Node.js持久缓存模块支持多种后端存储

    Node.js作为一个强大的JavaScript运行环境,不仅在Web服务器领域广泛应用,还在数据处理和文件操作等方面展现出高效性能。在大型项目中,缓存管理是优化应用程序性能的关键环节,它能减少不必要的数据库查询,提升...

    C#缓存的使用

    下面是一个简单的C#内存缓存小程序,展示了如何插入、获取和移除缓存项: ```csharp using System.Runtime.Caching; class Program { static void Main() { var cache = MemoryCache.Default; // 插入缓存 ...

    一个简单的JavaScript数据缓存系统实现代码

    在这段关于JavaScript数据缓存系统的描述中,首先给出了一个关键性的定义,即数据缓存系统的作用是临时存放可复用数据,并在数据后续的使用中能够快速地重新调用。这个概念对于Web开发和前端优化是非常重要的,因为...

    C# 系统缓存全解析

    系统缓存是一种优化技术,用于提高应用程序的性能,减少对资源的不必要消耗。在C# .NET环境中,缓存是至关重要的,尤其是在处理大量数据或频繁数据库查询时。缓存分为客户端缓存和服务器端缓存。 1. 客户端缓存: ...

    类淘宝的产品分类js

    在IT行业中,"类淘宝的产品分类js"是一个用于构建电商网站产品分类的JavaScript实现,它模仿了淘宝网站上的产品分类导航功能。这个功能的核心在于提供一个交互式的用户体验,让用户能够方便地浏览和选择不同的产品...

    Node.js-flru一个微小(215B)和快速的最近最少使用LRU缓存

    Node.js原生提供了一个`util.promisify`的`global.Cache`接口,用于实现简单的缓存功能。虽然`global.Cache`提供了更丰富的功能,如事件监听和自定义过期策略,但其体积相对较大。在对体积有严格要求的场景下,`flru...

    小程序数据缓存机制应用实现.docx

    在微信小程序的开发中,数据缓存机制是一个重要的功能,它允许开发者将数据存储在用户的本地,以便在后续的页面加载或应用使用中快速访问,提高用户体验。本篇文章主要探讨了如何实现小程序的数据缓存机制,并通过...

    详解大型网站web服务器缓存.zip

    在构建大型网站时,Web服务器缓存是一种至关...通过CDN、反向代理、应用程序和分布式缓存,我们可以构建出一个高效、可扩展的系统。同时,合理设置缓存过期时间,确保数据的时效性和准确性,是优化缓存策略的重要一环。

    Node.js-Keshi一个用于Node和浏览器应用中的更好内存缓存

    Keshi是一个强大的内存缓存库,专为Node.js和浏览器环境设计。它提供了一种简单而高效的方式来存储和检索数据,以提升应用程序的性能。在高并发和数据密集型应用中,缓存是必不可少的工具,Keshi为此类场景提供了...

    基于文件缓存的AJAX和代码生成带数据库地区id的纯JS-省市区三级联动

    这个资源提供了一个基于文件缓存的解决方案,结合了AJAX和纯JavaScript技术,特别适合需要动态加载和更新地区数据的场景。下面我们将深入探讨这个资源的核心知识点。 首先,`AJAX`(Asynchronous JavaScript and XML...

    ios WebView 页面缓存

    当用户访问一个网页时,系统会自动管理HTTP请求和响应,包括缓存机制。缓存分为两种主要类型:内存缓存和磁盘缓存。 1. 内存缓存:内存缓存主要处理短暂的缓存数据,如HTTP响应头中的"Cache-Control: max-age"指定...

Global site tag (gtag.js) - Google Analytics