基於hashtable的簡單頁面js資料快取

2022-01-16 08:09:53 字數 803 閱讀 6394

在《利用js特性實現的簡單hashtable》文章中,實現了乙個極簡單的hashtable。利用這個hashtable可以實現乙個簡單的頁面快取物件cache,**如下:

1

varcache

=function

(),8

add :

function

(key,obj),

11remove :

function

(key),

14get :

function

(key),

17length :

function

()20

};21

}();

思路很簡單,定義私有的容器物件,返回乙個新物件,這個新物件通過閉包對容器進行增加、修改、移除等操作。這裡將cache物件設計成signletion模式,因為我們乙個頁面只需要乙個快取。測試**如下:

1

cache.add(

"sds

",);

2varp =

cache.get(

"sds");

3alert(cache.length());//1

4cache.remove(

"sds");

5alert(cache.length());//0

6alert(p.name);

//sds

7alert(p.age);

//30

**:

Hashtable的簡單使用

在.netframework 中,hashtable 是system.collections 命名空間提供的乙個容器,用於處理和表現類似 key,value 的鍵值對,其中 key通常可用來快速查詢,同時 key是區分大小寫 value 用於儲存對應於 key的值。hashtable 中key va...

簡單HashTable實現

紙上得來終覺淺,所以我還是手動敲了一遍.懂了一點.2333333333333 直接看 和注釋 store the hash data class hashnode class hashtable hash enpty function private function hashfunc key re...

基於雙鏈表 hashtable實現的LRU演算法

實現原理 將cache的所有位置都用雙連表連線起來,當乙個位置被命中之後,就將通過調整鍊錶的指向,將該位置調整到煉表頭的位置,新加入的cache直接加到煉表頭中。這樣,在多次進行cache操作後,最近被命中的,就會被向煉表頭方向移動,而沒有命中的,而想鍊錶後面移動,鍊錶尾則表示最近最少使用的cach...