链缓存适配器
编辑本页链缓存适配器
该适配器允许组合任意数量的其他适配器可用的缓存适配器.缓存项从包含它们的第一个适配器获取,缓存项保存到所有给定的适配器。这公开了一种创建分层缓存的简单而有效的方法。
必须为ChainAdapter提供一个适配器数组,并可选地提供一个默认的缓存生命期作为其构造函数参数:
1 2 3 4 5 6 7 8 9
使用ob娱乐下载\组件\缓存\适配器\ChainAdapter;$缓存=新ChainAdapter (//用于获取缓存项的适配器的有序列表数组$适配器,//从下层适配器传播到上层适配器的项目的默认生存期$defaultLifetime=0);
请注意
当在第一个适配器中没有找到项,但在下一个适配器中找到项时,该适配器确保将提取的项保存到以前丢失的所有适配器中。
下面的例子展示了如何使用最快和最慢的存储引擎创建一个链适配器实例,ApcuAdapter而且FilesystemAdapter尊重:
1 2 3 4 5 6 7 8
使用ob娱乐下载\组件\缓存\适配器\ApcuAdapter;使用ob娱乐下载\组件\缓存\适配器\ChainAdapter;使用ob娱乐下载\组件\缓存\适配器\FilesystemAdapter;$缓存=新ChainAdapter ([新ApcuAdapter (),新FilesystemAdapter ()));
当调用这个适配器时删除()方法,则将调用委托给其所有兼容的缓存适配器。混合使用这两个适配器是安全的做,做不实现PruneableInterface,因为不兼容的适配器会被默默地忽略:
1 2 3 4 5 6 7 8 9 10 11
使用ob娱乐下载\组件\缓存\适配器\ApcuAdapter;使用ob娱乐下载\组件\缓存\适配器\ChainAdapter;使用ob娱乐下载\组件\缓存\适配器\FilesystemAdapter;$缓存=新ChainAdapter ([新ApcuAdapter (),//不实现PruneableInterface新FilesystemAdapter (),//实现PruneableInterface]);// prune将代理对FilesystemAdapter的调用,同时静默跳过ApcuAdapter$缓存->删除();
此工作,包括代码示例,是根据创作共用BY-SA 3.0许可证。
版本: