比如有一个接口:
/api/v1/configs?page=xxx&version=xxxx
tag
标记page
区别page
的缓存都要失效我用的是tag
缓存实现, 大伙用的是什么方式
// 缓存
Cache.tag(page).put(requestPath + page, responseData);
// 当修改后所有 page 失效缓存
Cache.tag(page).flush()
(如果缓存驱动是file
感觉可以用目录作为tag
的实现,如果是redis
也可以用:
划分层级实现)
tag
标记,并且每一个都能影响到缓存page
和version
区别page
和version
的缓存都要失效// tag 无先后顺序
Cache.tag([page, version]).put(requestPath + page + version, responseData);
// 如
Cache.tag([1, '1.0.0']).put('/path1', data);
Cache.tag([2, '1.0.0']).put('/path2', data);
// /path1 将会清除
Cache.tag(1).flush()
// /path1 和 /path2 都会清除
Cache.tag(version).flush()
这种方案又是怎么实现的呢?
最后也问一下大家分页缓存(也就是第一种)大家都有什么别的方案管理缓存呢.