JS前端缓存缓存对象封装
来源:互联网 发布:win7 php开发环境搭建 编辑:程序博客网 时间:2024/06/05 22:51
/**
* 缓存对象
*/
var
C = {
"set"
:
function
(key, value, endtime) {
var
key = arguments[0] ? arguments[0] :
''
;
var
value = arguments[1] ? arguments[1] :
''
;
var
endtime = arguments[2] ? arguments[2] : 60 * 60 * 24 * 15;
if
(key ==
''
) {
return
false
;
}
if
(key && value ==
''
) {
return
C.del(key);
}
if
(key && value !=
''
) {
var
saveobj = {
data: value,
//time: time(), //保存时间
etime: time() + endtime
}
localStorage.setItem(key, JSON.stringify(saveobj));
return
true
;
}
},
"clear"
:
function
() {
localStorage.clear();
},
"del"
:
function
(key) {
localStorage.removeItem(key);
},
"get"
:
function
(key) {
var
res = json_decode(localStorage.getItem(key));
if
(!res) {
return
false
;
}
if
(res.etime < time()) {
localStorage.removeItem(key);
return
false
;
}
return
res.data;
},
"all"
:
function
() {
var
a =
new
Array();
for
(
var
i = 0; i < localStorage.length; i++) {
var
key = localStorage.key(i);
var
res = json_decode(localStorage.getItem(localStorage.key(i)));
if
(res.etime < time()) {
localStorage.removeItem(key);
}
else
{
a[key] = res.data;
}
}
return
a;
},
"gc"
:
function
() {
var
ctime = time();
for
(
var
i = 0; i < localStorage.length; i++) {
var
key = localStorage.key(i);
var
res = json_decode(localStorage.getItem(localStorage.key(i)));
if
(res.etime < time()) {
localStorage.removeItem(key);
}
}
},
"init"
:
function
() {
var
s = arguments[0] ? arguments[0] : 3;
s = s * 1000;
C.gc();
setInterval(
function
() {
C.gc();
}, s);
}
}
//Json数值处理
function
json_encode(obj) {
return
JSON.stringify(obj)
}
function
json_decode(s) {
var
j = eval(
'('
+ s +
')'
);
return
j;
}
//获取当前时间戳
function
time() {
return
Math.floor(
new
Date().getTime() / 1000);
}
#C对象使用方式
//初始化过期回收时间,传入回收精度 30为秒
C.init(30);
//设置缓存
C.set("key","value");
//设置带过期时间的缓存 200后过期
C.set("key","value",200);
//保存一个对象
var req = {}
req.id = 5;
req.name = "wangcong";
req.time = time();
C.set("wc",req);
//获取缓存
C.get("key")
//删除缓存
C.del("key");
//清空缓存
C.clear()
//返回缓存空间所有
C.all()
0 0
- JS前端缓存缓存对象封装
- 前端 js 缓存 + 后台memcache缓存
- 前端 js 缓存 + 后台memcache缓存
- 使用JS实现前端缓存
- 使用js实现前端缓存
- 使用JS实现前端缓存
- 封装缓存
- 前端缓存
- Node.js Buffers缓存对象
- 前端css,js缓存提升网站性能
- [Js&Html]全面清除前端缓存
- js闭包的用途(匿名自执行函数,缓存,实现封装,实现面向对象)
- 对象缓存
- js缓存
- js缓存
- js面向对象编程:数据的缓存
- js利用window对象缓存变量
- JS带缓存效果的移动函数封装
- easyios 教程
- android 将文件保存到sd卡上面(简单)
- SSIS可靠性和扩展性—简介
- Cocos2d-x 脚本语言Lua的使用
- Differences among list,set and map
- JS前端缓存缓存对象封装
- Hibernate中get和load方法的区别以及close()、clear()、evict()
- rsync使用说明#简单配置文档
- Shellshock漏洞回顾与分析测试
- 口令验证辨别真伪
- Web_JavaScript_JS表单验证;
- Android framework记录
- 用工厂模式设计servlet
- 异步发送JavaMail