iweb-cache
v0.0.9
Published
轻量且强悍的 Cache库, 为您暴露丰富而统一的 API, 使得业务调用更加简便.
Downloads
20
Maintainers
Readme
说明
轻量且强悍的 Cache库, 为您暴露丰富而统一的 API, 使得业务调用更加简便.
- 速度更快: 优先操作读取内存中的变量.
- 更方便: 可以直接存储JSON格式数据, 无需手动转换成字符串.
- 支持设置存储的失效时间.
- 自动识别存储数据类型, 获取时候能准确返回存储数据的类型.
存储数据类型
支持:
- Number
- String
- Null
- Undefined
- Object
- Array
- RegExp
- Boolean
不支持:
Symbol, BigInt, Function 这三个类型的数据不能进行存储!
安装和使用
NPM方式:
npm install iweb-cache -S
import iwebCache from 'iweb-cache'
// or
const iwebCache = require('iweb-cache')
const $cache = iwebCache();
CDN方式:
<script src="https://cdn.jsdelivr.net/npm/iweb-cache/dist/index.umd.js"></script>
<script>
const $cache = window.iwebCache();
</script>
初始化配置参数
// 1.无其他配置
const $cache = iwebCache();
// 2.配置选项
const $cache = iwebCache({
// 缓存驱动类型,默认为 localStorage
storageType: 'localStorage',
// 主要避免通一个域下有两个前端项目,如果不设置前缀可能会冲突
prefix: 'abc',
// 所有存储的数据默认过期时间, 单位毫秒
// 如果是sessionStorage, 那么是会话期间有效, 只有 type 为 localStorage才可能是永久不会过期
expires: 1000 * 5
});
设置缓存
$cache.save('userInfo', {
name: '张三'
})
// 储存数据在5秒钟失效
$cache.save('token', '123456', 1000 * 5)
setTimeout(() => {
const token = $cache.get('token') // -> false
}, 5010);
读取缓存数据
const token = $cache.get('token')
// 读取没有的缓存数据
const token1 = $cache.get('token1') // -> false
// 读取多个缓存数据
const [token2, userInfo] = $cache.getAll('token', 'userInfo');
覆盖 value 的值, 但是不更新过期时间
$cache.cover('token', '123123');
iwebCache options
属性|说明|类型|默认值 -----|-----|-----|----- storageType|数据存数的驱动|string|localStorage prefix|存放在浏览的缓存前缀|string|- expires|全局设置-存储数据的默认过期时间|number(单位毫秒)|-
cache api
方法名|说明|参数 -----|-----|----- save|设置缓存|(key: string, value: any, [expires:number]):boolean cover|覆盖 value , 但不更新过期时间|(key: string, value: any):boolean get|获取缓存数据|(key: string):cacheData|boolean getAll|获取多条缓存数据|(...[string]): [value|boolean, ...] del|删除指定key的缓存数据|(key: string):boolean clear|删除全部缓存数据|-