本地缓存设置有效期?

文章介绍了如何通过封装localStorageAPI,为存储的数据设置有效期,读取时检查是否过期并自动清除,以便更好地管理缓存数据。
摘要由CSDN通过智能技术生成

本地缓存设置有效期?

使用localStorage本地缓存存储数据时不能像cookie那样设置有效期,使得数据会一直存在浏览器中,除非人为删除。这时我们可以封装一下localStorage,在需要有效期的数据存储时同时设置到期时间,读取的时候判断是否过期,过期则清除。

const getExpireKey = key => key + '_expire_time'
const setStorageSync = (key, value, expire) => {
	if (expire) {
		let time = new Date().getTime() + expire * 1000
		time && uni.setStorageSync(getExpireKey(key), time)
	}
	uni.setStorageSync(key, value)
}
const getStorageSync = key => {
	let expire = uni.getStorageSync(getExpireKey(key))
	if (expire && expire < new Date().getTime()) {
		uni.removeStorageSync(getExpireKey(key))
		uni.removeStorageSync(key)
	}
	return uni.getStorageSync(key)
}

在存储时判断是否有过期时间expire,这里以秒为单位,可以自己增加一个时间单位的参数,有则同时将过期时间存入缓存,key为原来的key拼上_expire_time。

在读取缓存数据时,先判断该key值是否有设置有效期,如果有则与当前时间对比判断是否过期,过期则清除缓存,未设置有效期或未过期则直接返回数据。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值