缓存模式
缓存模式可在全局或请求级等不同粒度下设置。全局设置时,所有由相同 alova 实例创建的 method 实例都会继承该设置。
注意
是否使用缓存模式,以及使用哪种缓存模式需要根据场景而定,下面在单独介绍不同缓存模式时将会提及它们的使用场景。
内存模式(默认)
内存模式将缓存放在内存中,这意味着刷新页面缓存即失效,是最常用的缓存模式。
内存模式一般用于解决短时间内(几分钟或几秒钟)频繁请求相同数据带来的性能消耗,例如当你在 写 todo 详情页的时候,你可能会想到用户会频繁在 todo 列表中点击查看详情,如果用户重复查看某条详情时不再重复请求接口,并且能立即返回数据,提升了响应速度的同时也减小了服务器压力。此时我们就可以为某个 todo 详情 method 实例设置响应数据缓存。
alovaInstance.GET('/todo/list', {
// ...
localCache: {
// 设置缓存模式为内存模式
mode: 'memory',
// 单位为毫秒
// 当设置为`Infinity`,表示数据永不过期,设置为0或负数时表示不缓存
expire: 60 * 10 * 1000
}
});
内存模式为默认模式,你可以这样简写
alovaInstance.GET('/todo/list', {
// ...
localCache: 60 * 10 * 1000
});
GET 请求将默认设置 300000ms(5 分钟)的内存缓存时间,开发者也可以自定义设置。
如果你需要全局统一设置缓存模式,见本节底部的 全局设置缓存模式