LruJS:最少最近使用(LRU)-O(1)命中O(1)未命中复杂度的时钟缓存实现

时间:2024-04-29 13:45:55
【文件属性】:

文件名称:LruJS:最少最近使用(LRU)-O(1)命中O(1)未命中复杂度的时钟缓存实现

文件大小:17KB

文件格式:ZIP

更新时间:2024-04-29 13:45:55

nodejs javascript caching asynchronous cache

使用字符串/整数作为键,存储任何数据。 缓存算法是两只手的LRU(近似值)的CLOCK版本(1手=第二次机会,1手=逐出)。 高速缓存命中:O(1)时间复杂度,垃圾回收友好(无节点移动,仅分配值) 高速缓存未命中:O(1)时间复杂度,异步(1000毫秒延迟的1000次异步高速缓存未命中=总延迟1100毫秒) 易于使用: let Lru = require ( "./lrucache.js" ) . Lru ; let num_cache_elements = 1000 ; let element_life_time_miliseconds = 1000 ; let cache = new Lru ( num_cache_elements , async function ( key , callback ) { // datastore access for filling t


【文件预览】:
LruJS-main
----sample_file_cache.js(2KB)
----lrucache.js(3KB)
----sample_async_cache_miss_benchmark.js(742B)
----LICENSE(34KB)
----unit-test.js(2KB)
----README.md(1KB)

网友评论