本地缓存优化方案
缓存策略对比
方式 | 同步方法 | 异步方法 | 适用场景 |
---|---|---|---|
本地存储 | setStorageSync/getStorageSync | setStorage/getStorage | 小数据、简单键值对 |
本地数据库 | - | plus.sqlite (App端) | 结构化数据、大量数据 |
缓存封装示例
javascript
// storage.js
export const Storage = {
// 设置缓存(带过期时间)
set(key, value, expire = 0) {
const data = {
value,
expire: expire ? Date.now() + expire * 1000 : 0
}
uni.setStorageSync(key, data)
},
// 获取缓存
get(key) {
const data = uni.getStorageSync(key)
if (!data) return null
// 处理过期
if (data.expire && Date.now() > data.expire) {
this.remove(key)
return null
}
return data.value
},
remove(key) {
uni.removeStorageSync(key)
},
clear() {
uni.clearStorageSync()
}
}