自动失效
自动失效缓存是在目标缓存中设置失效源 method 的匹配规则,当源 method 在请求成功后,将自动匹配并失效目标缓存,不需要再手动清除缓存。当目标缓存与失效源是一对一或一对多时,设置自动失效规则会很方便。
使用场景
- 编辑列表项并提交成功后,自动对列表项缓存数据失效。
- 在服务端,例如用户个人信息、配置数据等更新后需要失效当前缓存。
设置自动失效规则
设置这个规则很简单,你可以在创建一个带缓存的 Method 实例时,为它设置hitSource
参数即可。
失效源设置为 method 实例
以一个固定的 method 实例作为失效源,只要此 method 实例或它的克隆实例请求成功,目标缓存将被自动清除。
alova.Get('/todo/1', {
// ...
hitSource: alova.Post('/todo', {})
});
通过 method 名称匹配失效源
和 method 匹配器一样,你可以在 hitSource 中指定 method 的名称来匹配失效源,多个失效源可以设置为同一个名称,带有这个名称的 method 实例请求成功时,目标缓存将被自动清除。
const methodSubmitTodo = data =>
alova.Post('/todo', data, {
name: 'submitTodo'
});
alova.Get('/todo/1', {
// ...
// 匹配method实例名称为submitTodo的失效源
hitSource: 'submitTodo'
});