亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 開發 > JS > 正文

localstorage實現帶過期時間的緩存功能

2024-05-06 16:52:57
字體:
來源:轉載
供稿:網友

前言

一般可以使用cookie,localstorage,sessionStorage來實現瀏覽器端的數據緩存,減少對服務器的請求。

1.cookie數據存放在本地硬盤中,只要在過期時間之前,都是有效的,即使重啟瀏覽器。但是會在每次HTTP請求中添加到請求頭中,如果數據過多,會造成性能問題。

2.sessionStorage保存在瀏覽器內存中,當關閉頁面或者瀏覽器之后,信息丟失。

3.localstorage也是保存在本地硬盤中,除非主動清除,信息是不會消失的。但是實際使用時我們需要對緩存設置過期時間,本文便是講解如何為localstorage添加過期時間功能。

這三者僅支持同源(host+port)的數據,不同源的數據不能互相訪問到。

localstorage

localstorage支持以下方法

  • 保存數據:localStorage.setItem(key,value);
  • 讀取數據:localStorage.getItem(key);
  • 刪除單個數據:localStorage.removeItem(key);
  • 刪除所有數據:localStorage.clear();
  • 得到某個索引的key:localStorage.key(index);  

需要注意的是,僅支持String類型數據的讀取,如果存放的是數值類型,讀出來的是字符串類型的,對于存儲對象類型的,需要在保存之前JSON化為String類型。

對于緩存,我們一般有以下方法

set(key,value,expiredTime);get(key);remove(key);expired(key,expiredTime);clear(); 

實現

設置緩存

對于過期時間的實現,除了用于存放原始值的緩存(key),這里添加了兩個緩存(key+EXPIRED:TIME)和(key+EXPIRED:START:TIME),一個用于存放過期時間,一個用于存放緩存設置時的時間。

當讀取的時候比較 (過期時間+設置緩存的時間)和當前的時間做對比。如果(過期時間+設置緩存時的時間)大于當前的時間,則說明緩存沒過期。

注意這里使用JSON.stringify對存入的對象JSON化。讀取的時候也要轉回原始對象。

"key":{    //輔助    "expiredTime": "EXPIRED:TIME",    "expiredStartTime": "EXPIRED:START:TIME",    //全局使用    //用戶信息    "loginUserInfo": "USER:INFO",    //搜索字段    "searchString": "SEARCH:STRING",  },  /**   * 設置緩存   * @param key   * @param value   * @param expiredTimeMS 過期時間,單位ms   */  "set":function (key,value,expiredTimeMS) {    if((expiredTimeMS == 0 ) || (expiredTimeMS == null)){      localStorage.setItem(key,value);    }    else {      localStorage.setItem(key,JSON.stringify(value));      localStorage.setItem(key+cache.key.expiredTime,expiredTimeMS);      localStorage.setItem(key+cache.key.expiredStartTime,new Date().getTime());    }  },

 讀取緩存

由于讀取出來的是時間信息是字符串,需要將其轉化為數字再進行比較。

/**   * 獲取鍵   * @param key   * @returns {*} key存在,返回對象;不存在,返回null   */  "get":function (key) {    var expiredTimeMS = localStorage.getItem(key+cache.key.expiredTime);    var expiredStartTime = localStorage.getItem(key+cache.key.expiredStartTime);    var curTime = new Date().getTime();    var sum = Number(expiredStartTime) + Number(expiredTimeMS);    if((sum) > curTime){      console.log("cache-緩存["+key+"]存在!");      return JSON.parse(localStorage.getItem(key));    }    else {      console.log("cache-緩存["+key+"]不存在!");      return null;    }  },

移除緩存

移除緩存時需要把三個鍵同時移除。

/**   * 移除鍵   * @param key   */  "remove":function (key) {    localStorage.removeItem(key);    localStorage.removeItem(key+cache.key.expiredTime);    localStorage.removeItem(key+cache.key.expiredStartTime);  },

其他代碼

/**   * 對鍵重新更新過期時間   * @param key   * @param expiredTimeMS 過期時間ms   */  "expired":function (key,expiredTimeMS) {    if(cache.get(key)!=null){      localStorage.setItem(key+cache.key.expiredTime,expiredTimeMS);    }  },  /**   * 清除所有緩存   */  "clear":function () {    localStorage.clear();  }

總結

以上所述是小編給大家介紹的localstorage實現帶過期時間的緩存功能,希望對大家有所幫助如果大家有任何疑問歡迎給我留言,小編會及時回復大家的!


注:相關教程知識閱讀請移步到JavaScript/Ajax教程頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
精品性高朝久久久久久久| 欧美伊久线香蕉线新在线| 91精品国产自产在线老师啪| 久久久久日韩精品久久久男男| 欧美孕妇与黑人孕交| 国产精品综合不卡av| 国产一区二区三区在线免费观看| 91精品国产乱码久久久久久蜜臀| 日韩综合视频在线观看| 92看片淫黄大片欧美看国产片| 欧美专区中文字幕| 欧美日韩一二三四五区| 欧美精品999| 亚洲综合在线做性| 777精品视频| 自拍偷拍免费精品| 92福利视频午夜1000合集在线观看| 久久精品视频播放| 成年无码av片在线| 国产97人人超碰caoprom| 久久久久久久久久久久av| 亚洲男女自偷自拍图片另类| 亚洲欧美自拍一区| 欧美激情欧美激情在线五月| 中文字幕久精品免费视频| 日韩精品在线观看视频| 欧美激情精品久久久久久大尺度| 91夜夜揉人人捏人人添红杏| 在线亚洲国产精品网| 亚洲精品电影网| 久久久久久久av| 综合136福利视频在线| 自拍亚洲一区欧美另类| 色偷偷888欧美精品久久久| 亚洲欧美另类自拍| 亚洲第一页在线| 中文字幕日韩欧美精品在线观看| www.日韩不卡电影av| 97久久国产精品| 欧美乱大交xxxxx另类电影| 国产欧美精品日韩精品| 大伊人狠狠躁夜夜躁av一区| 国语自产精品视频在线看抢先版图片| 欧美色欧美亚洲高清在线视频| 精品国内亚洲在观看18黄| 欧美激情一级二级| 欧美一区二区大胆人体摄影专业网站| 中文字幕久热精品在线视频| 亚洲女成人图区| 国产精品自产拍在线观看中文| 成人中文字幕在线观看| 96sao精品视频在线观看| 亚洲欧美一区二区三区情侣bbw| 成人av番号网| 98视频在线噜噜噜国产| 不卡毛片在线看| 国产精品九九久久久久久久| 亚洲电影免费观看| 欧美日韩国产第一页| 日韩在线一区二区三区免费视频| 欧洲成人免费aa| 亲爱的老师9免费观看全集电视剧| 久久天天躁夜夜躁狠狠躁2022| 68精品国产免费久久久久久婷婷| 亚洲天堂免费在线| 国产不卡一区二区在线播放| 黑人欧美xxxx| 日韩在线精品一区| 国产精品欧美一区二区| 热久久免费国产视频| 91精品免费久久久久久久久| 日韩电影中文字幕av| 一区三区二区视频| 国产成人精品久久亚洲高清不卡| 欧美专区福利在线| 中文字幕久久久av一区| 国产亚洲欧洲黄色| 欧美日韩加勒比精品一区| 国产精品美女免费视频| 国产激情视频一区| 亚洲欧美日韩网| 精品一区二区三区四区| 国产精品久久久久免费a∨大胸| 国产剧情久久久久久| 精品国产一区二区三区四区在线观看| 国内免费久久久久久久久久久| 在线播放精品一区二区三区| 欧美亚洲另类制服自拍| 永久免费精品影视网站| 成人亚洲综合色就1024| 亚洲激情成人网| 国产日韩欧美在线看| 在线观看欧美成人| 孩xxxx性bbbb欧美| 欧美日本高清视频| 欧美成人午夜免费视在线看片| 国产精品电影久久久久电影网| 91久久国产精品| 国产成人精品视| 国产精品久久久久久久app| 精品中文字幕久久久久久| 亚洲性av网站| 国产精品国产三级国产专播精品人| 欧美日韩国产影院| 狠狠做深爱婷婷久久综合一区| 亚洲美女精品成人在线视频| 亚洲欧美日韩一区二区在线| 久久中文字幕在线| 欧美裸身视频免费观看| 亚洲成年人在线播放| 亚洲一区二区中文| 2019中文字幕在线免费观看| 亚洲人成欧美中文字幕| 国产精品久久久久久中文字| 欧美激情国内偷拍| 亚洲黄色有码视频| 亚洲国语精品自产拍在线观看| 国产精品久久久久久婷婷天堂| 成年无码av片在线| 国产精品美女999| 日本道色综合久久影院| 国语自产精品视频在线看| 精品成人在线视频| 亚洲天堂av在线免费| 欧美在线视频在线播放完整版免费观看| 国内精品久久久久久| 黑人巨大精品欧美一区二区免费| 亚洲最大福利视频网| 成人网欧美在线视频| 国产日韩欧美夫妻视频在线观看| 国产精品久久久久久一区二区| 国产综合香蕉五月婷在线| 国产97人人超碰caoprom| 亚洲xxxxx电影| 日韩免费av在线| 免费不卡在线观看av| 国产欧美日韩精品丝袜高跟鞋| 九色精品美女在线| 欧美不卡视频一区发布| 亚洲黄色av网站| 久热爱精品视频线路一| 欧美做受高潮电影o| 亚洲精品日韩欧美| 亚洲欧美日韩精品久久奇米色影视| 亚洲国产成人精品一区二区| 九九视频直播综合网| 亚洲成人久久电影| 久久久精品国产网站| 日韩精品视频免费| 成人xvideos免费视频| 亚洲成人av资源网| 亚洲伦理中文字幕| 亚洲国产精品久久久久秋霞蜜臀| 中文字幕欧美国内| 亚洲成年网站在线观看| 亚洲欧美国产日韩中文字幕| 精品成人av一区| 欧美一级大片在线观看| 国产精品久久久久久搜索| 久久九九有精品国产23| 欧美精品久久久久| 国产精品爽爽爽| 色婷婷久久av| 日韩国产精品亚洲а∨天堂免|