通用的缓存模块, 支持cookie, localStorage, sessionStorage。
只能在支持ES5的浏览器(>=IE9)上使用。
快速开始
如果引入了jQuery, 则该模块将附加到jQuery上, 否则直接附加到window对象上。
// 已引入jQuery的情况
$.Cache.set('user', {
id: 10,
name: '王重阳'
}, 0);
console.log($.Cache.get('user'));
/** outputs:
{
id: 10,
name: '王重阳'
}
*/
// 未引入jQuery的情况
Cache.set('user', {
id: 10,
name: '王重阳'
}, 0);
console.log(Cache.get('user'));
/** outputs:
{
id: 10,
name: '王重阳'
}
*/
属性
appId
缓存唯一应用标记, 用于区分不同网站。
version
缓存版本标记, 用于强制用户已有缓存失效。
方法
set(key, value, expire, options)
写入缓存, 参数说明如下:
key
键名, 缓存参数名称
value
键值, 缓存内容, 可以是: 字符串、数字、布尔值、数组、json
expire
过期时间, 该参数情况比较复杂, 说明如下:
如果未指定该参数(undefined), 则缓存为sessionStorage
如果参数为数字, 则为到期时间的时间戳
如果参数为0, 则表示永不过期
如果参数为字符串, 则表示缓存的有效时间, 如:
1y
表示一年, 可以用的时间单位有y(年)、m(月)、d(日)、h(时)、n(分)、s(秒)
options
如果指定该参数(不为undefined), 则表示使用cookie存储
- options.path: cookie存储的path, 默认为'/'
- options.cross: 是否允许跨子域, 默认为true
get(key)
读取指定缓存, 按照先cookie -> localStorage -> sessionStorage的顺序自动读取。
remove(key)
删除指定缓存,该方法将删除cookie、localStorage和sessionStorage中所有匹配的缓存数据。
clear()
清空缓存,该方法将清空cookie、localStorage和sessionStorage中所有以appId开头的缓存数据。