`
dengyin2000
  • 浏览: 1224581 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

推荐一个Javascript LRU Cache 对象。

    博客分类:
  • ajax
阅读更多
http://www.monsur.com/projects/jscache/

这个js cache不错。 功能也比较全。在项目中用它来缓存些大计算量的javascript json 对象。


Cache cache = new Cache(200);

function reloadTagCloud() {
	if (startDate != null && endDate != null) {
		showIndicator();
		var result = null;
		if (tagSource == "Directory"){
			result = cache.getItem("Directory" + startDate + endDate);
		}
		if (result != null){
			processTagResult(result);
			hideIndicator();
			return ;
		}
		jsonrpc.subscribe.getTags(getTagsCallback, startDate, endDate, tagSource, 'frequency' /*tagOrder, should sort the top 20 locally, always use frequency on server side.*/);
	}
}

function getTagsCallback(result, exception) {
	if (exception) {
		showError("An error has occurred: " + exception.message);
	} else {
		if (tagSource == "Directory"){
			cache.setItem("Directory" + startDate + endDate, result);
		}
		processTagResult(result);
	}
	
	hideIndicator();
}

function processTagResult(result){
		tagCloud.viewTags = result.sort(sortByFrquency);

		tagCloud.setTagFontSizes();

		updatTagCloudViewByOrder();
		try {
			dojo.byId("tagsButton").focus();
		} catch (e) {}
}
分享到:
评论
6 楼 dengyin2000 2007-12-27  
carrot 写道
good

carrot

your colleague


萝卜 你的处女贴献给了我呀。
5 楼 afcn0 2007-12-26  
这个cache什么东西,是不是就是对象数组还是个什么,没听说过
4 楼 carrot 2007-12-26  
good

carrot

your colleague
3 楼 sp42 2007-09-01  
往事如烟了 呵呵
只是当年的激情。。不知现在算不算在延续着...
借javaeye这一宝地...抒心中之一幕...见谅了
2 楼 dengyin2000 2007-08-31  
sp42 写道
Cache...这令我想起当年Cyrix 486DLC中那1kb的回写式缓存是多么的宝贵啊....


你那当年是什么年代。 我是没有经历过寸土寸斤的年代。    羡慕。
1 楼 sp42 2007-08-30  
Cache...这令我想起当年Cyrix 486DLC中那1kb的回写式缓存是多么的宝贵啊....

相关推荐

    jscache, 简单的JavaScript LRU缓存.zip

    jscache, 简单的JavaScript LRU缓存 JavaScript LRU缓存只是用javascript编写的简单的LRU缓存。 它基于 ASP.NET's 缓存,包括许多缓存选项,如绝对过期。滑动过期。缓存优先级和回调功能。 它可以用于在用户浏览器中...

    前端开源库-lighter-lru-cache

    本文将详细介绍一个前端开源库——`lighter-lru-cache`,它是一个轻量级的JavaScript LRU缓存实现。 `lighter-lru-cache`库的核心设计目标是提供一个简单易用、占用资源少的缓存解决方案。它适用于那些对性能敏感,...

    LRU-Cache:通过Node.js实现LRU缓存

    const lru = require ( 'LRU-Cache' ) ; 。放 capacity -列表容量,不允许0,默认值:1000 maxAge节点将在maxAge ms内自行销毁 const cache = new lru ( { capacity : 100 } ) ; cache . set ( 'test_key' , 123 ) ...

    LRU-Cache:这是 JavaScript 中的 LRU(最近最少使用)缓存实现

    LRU-Cache 这是 JavaScript 中的 LRU(最近最少使用)缓存实现。 它非常高效并且使用两种数据结构来管理元素。 双向链表和地图为我们提供了以下信息: 时间复杂度: O(1) 空间复杂度: O(n) 这是通过在我们必须...

    LRU-cache:用JS实现的LRU缓存

    #LRU缓存通过Node JS中的链接列表和哈希映射实现要运行,请先将存储库克隆到桌面git clone https://github.com/Teaflavored/LRU-cache然后导航到LRU-cache文件夹并运行node testingLRUCache.js

    node-lru-cache

    var LRU = require ( "lru-cache" ) , options = { max : 500 , length : function ( n , key ) { return n * 2 + key . length } , dispose : function ( key , n ) { n . close ( ) } , maxAge : 1000 * 60 *...

    lru-cache-js:使用双链表和映射实现 LRU Cache,读写时间复杂度为 O(1)

    LRUCache.remove(key) :删除键值对(如果存在) LRUCache.getCache() :将缓存的所有内容作为 JSON 对象获取。执行 npm i lru-cache-js-map const LRUCache = require('lru-cache-js-map');var cache = new ...

    node-lru:nodejs实现的lru缓存

    Node LRU Cache 基于Nodejs开发的LRU Cache, 兼有缓存超时清除功能 usage var options = { expires: 5 * 60 * 1000, capacity: 5 }; var LRU = require('node-lru'); var cache = new LRU(2);//var cache = new ...

    hyperlru用60行代码快速LRU实现

    `hyperlru`是一个高效的LRU缓存实现,它的简洁代码和优秀性能使得它在JavaScript项目中成为一种理想的缓存解决方案。理解和使用`hyperlru`不仅可以提升开发效率,也有助于深入理解LRU缓存机制和数据结构设计。

    js-leetcode题解之146-lru-cache.js

    javascript js_leetcode题解之146-lru-cache.js

    js实现操作系统LRU置换算法

    在JavaScript中实现LRU,通常会使用哈希表(对象)结合双向链表。哈希表用于快速查找,链表用于保持数据的顺序性,确保最近访问的数据在链表头部,而最久未访问的在尾部。 **实现步骤:** 1. **初始化结构**:创建...

    lru-cache-node:具有最近使用策略的节点的照明快速缓存管理器

    lru-cache-node 具有最近使用策略的节点的照明快速缓存管理器。 具有LRU策略的节点的超快速缓存。 缓存将继续添加值,直到达到maxSize为止。 之后,它将开始从缓存中弹出最近最少使用/访问的值,以便设置新值。 支持...

    lru-cache-pool:LRU 缓存池

    用法 var LRU = require ( 'lru-cache' ) , LRUPool = require ( 'lru-cache-pool' ) , pool = LRUPool ( LRU ) , c1 , c2 ;c1 = pool . get ( 'users' ) ;c1 . put ( 'z' , 77 ) ;c2 = pool . get ( 'users' ) ;...

    arraylru一个真正非常快的数组项LRU缓存

    总之,`array-lru`是一个适用于JavaScript开发的高效数组型LRU缓存库,它的简单API和高性能特性使其成为优化小型缓存需求的理想选择。开发者可以根据具体项目需求,灵活地使用和定制这个库,提升应用程序的运行效率...

    前端开源库-lrucache

    `lrucache`是一个针对Node.js和浏览器环境的开源库,它实现了LRU缓存机制,为开发者提供了一种轻量级、易用的解决方案。这个库允许我们在内存中设置一个容量限制,超过这个限制时,最不常使用的数据会被自动删除,...

    lru-node-cache

    LRU节点缓存一个独立于其他节点模块和节点版本的小型库,提供了最快的方法来检索和设置高速缓存上的数据。 在这里使用了双重链接列表和哈希映射,因此所有操作都可以在O(1)(时间复杂度)中执行。 当缓存已满并且...

    cachelru:最近最少使用算法

    LRU算法基于一个假设:最近频繁使用的数据在将来也更可能被频繁使用。因此,当缓存空间满时,LRU策略会选择最久未使用的数据项进行淘汰,以腾出空间给新的或更活跃的数据。这种策略在处理动态变化的数据访问模式时...

    tmpcache用35行代码实现最近最少使用LRU的缓存管理器

    这里我们将探讨一个名为"tmp-cache"的项目,它用仅仅35行JavaScript代码实现了LRU缓存管理器。 "tmp-cache"这个项目展示了如何高效地用JavaScript实现LRU机制。尽管代码简洁,但它包含了LRU缓存的核心功能,包括...

    kakku-lru-cache-store:Kakku 的内存 LRU 缓存存储

    一个存储在内存中的-backed 。 用法 var LRU = require ( "lru-cache" ) ; var Kakku = require ( "kakku" ) . Kakku ; var LruCacheStore = require ( "kakku-lru-cache-store" ) . LruCacheStore ; var kakku = ...

    cachejs:异步LRU和ARC缓存的实现

    实际上 arch_cache 使用 lru_cache 来实现它的 lru 缓存。 var lru_cache = require('path/to/arc_cache')(); //or var arc_cache = require('path/to/lru_cache')(); 或者做 npm install cachejs var lru_cache...

Global site tag (gtag.js) - Google Analytics