localstorage本地緩存方案 解決數據過期問題

jopen 8年前發布 | 22K 次閱讀 store 前端技術

localstorage本地緩存方案

解決數據過期問題

本地實際應用建議綁定當前的用戶,解決不能用戶看到不同的緩存,可以做下適當的包裝,比如:

setCache:function(key,value,exp){
    //過期時間默認1天
    exp=exp||86400;
    store.set(key+'_'+curUserID, value,exp);

},

getCache:function(key){
    return store.get(key+'_'+curUserID);
}

todo:

另外還又可以嘗試結合一些簡單的加解密技術,來保證客戶端緩存數據的相對安全,但勢必會造成性能上的損失。

簡單API

設置緩存

//簡單的緩存
store.set('a',{a:1,b:2})

//增加過期時間:單位是秒
store.set('a',{a:1,b:2},3600)

//清除指定緩存
store.set('a',null)
//或者
sotre.set('a');//為了代碼的可讀性,不建議這樣使用

獲取緩存的數據

store.get('a') //log:{a:1,b:2}

刪除指定緩存

store.del('a');

刪除所有過期的緩存

store.clearExp();

清除所有緩存

store.clearAll()

添加一個緩存

//和set的區別是,這個會檢測是否已經存在同名的緩存,如果存在,就不做任何處理 // 單set是會覆蓋當前值的 store.add('b',{c:1,d:1},3600)

設置緩存的過期時間

//過期時間由原來的1小時,變成了2小時,并且是從創建時間計算的 store.setExp('a',7200)

讀取緩存的過期時間

store.getExp('a')

項目主頁:http://www.baiduhome.net/lib/view/home/1449987905901

 本文由用戶 jopen 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!