场景:使用vue3芋道源码时,想对数据进行缓存。
先说结论:使用Persistent类对数据进行存储
操作API
//截止2024-8-25 拉取master是该引用目录
import { Persistent } from '@/utils/cache/persistent'
//"localstorage"
Persistent.getLocal()
Persistent.setLocal()
Persistent.removeLocal()
Persistent.clearLocal()
// "sessionStorage"
Persistent.getSession()
Persistent.setSession()
Persistent.removeSession()
Persistent.clearSession()
Persistent.clearAll()
说明:和原生操作方法类似。对数据进行存储时,默认过期时间为7天,只对生产环境环境进行加密
(使用Persistent.setSession() 之后,如果关闭浏览器数据清空,和原生sessionStorage效果一致)
具体参数说明如下
Persistent.setLocal(key,data,boolean)
key :传入的key,可以使用代码中原有的,也可以自己扩展
data :想缓存的数据
boolean (默认为false)
true:会缓存到本地可以到“F12 应用”中看到缓存的数据
false:唯一区别就是在“F12 应用”中看不到数据(会缓存到内部函数中,具体可以看源码实现)。
其他效果一样,本人测试过,关闭浏览器,点击刷新按钮之后,还是可以获取到值
如果有理解不对地方,可以在评论区指正