metro-Caching


Metro的多个缓存机制,可以给我们带来很多方便,下面我们将解释一下缓存是如何工作的。

为什么要缓存?

缓存可以带来很大的性能提升,它将打包的速度提高十倍以上,很多系统都在使用非持久化缓存。使用Metro可以进行更加复杂的缓存方式。比如我们可以将缓存存储在服务器上,这样的话,所有的打包器都可以使用共享缓存,因此打包脚本和本地开发的初始构建时间将显著降低。

我们希望将缓存存储在多个位置,以便做缓存的回退,这就是为什么设计成多缓存系统的原因

缓存的提取和保存

有一种排序机制来确定使用哪个缓存,为了检索缓存,我们将从top往bottom查找,直到找到结果为止。保存缓存同理,直到找到具有缓存的存储

假设你有两个缓存存储:一个在服务器上,另一个在本地文件系统上。你可以用这种方式指定:

const config = {
  cacheStores: [
    new FileStore({/*opts*/}),
    new NetworkStore({/*opts*/})
  ]
}

当我们检索缓存时,Metro将首先查看FileStore,如果在那里找不到缓存,它将去NetworkStore查找,以此类推。如果都没有,它将自己生成一个新的缓存,一但生成缓存,Metro将再次从上到下将缓存存储在all stores中,如果找到缓存,同样如此。比如:如果Metro在NetworkStore中找到一个缓存文件,它也会将它存储在FileStore

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值