新在Symfo欧宝娱乐app下载地址ny 3.3:简单的缓存
2017年2月1日·发表的哈维尔Eguiluz
警告:这篇文章是关于一个不受支持的Symfony的版本。欧宝娱乐app下载地址其中一些信息可能是过时了。阅读最近的Symfony文档欧宝娱乐app下载地址。
提供的
尼古拉斯Grekas
在# 20694。
在Sy欧宝娱乐app下载地址mfony 3.1中,我们添加了一个新的缓存组件,实现了PSR-6:缓存接口标准。在Sy欧宝娱乐app下载地址mfony 3.2我们提高了组件标记缓存和其他改进。
尽管缓存组件提供企业应用程序所需要的一切,对于小应用程序有点麻烦。例如,使用一个基于文件系统缓存存储、获取和删除一个简单的变量,你必须做到以下几点:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
使用欧宝娱乐app下载地址\组件\缓存\适配器\FilesystemAdapter;美元缓存=新FilesystemAdapter ();/ /保存一个条目在缓存中美元numProducts=美元缓存- >getItem (“stats.num_products”);美元numProducts- >集(4711年);美元缓存- >保存(美元numProducts);/ /从缓存中获取项目美元numProducts=美元缓存- >getItem (“stats.num_products”);如果(!美元numProducts- >isHit ()) {/ /……项目在缓存中不存在}其他的{美元总=美元numProducts- >get ();}/ /从缓存中移除项美元缓存- >deleteItem (“stats.num_products”);
在Sy欧宝娱乐app下载地址mfony 3.3我们决定提高缓存组件通过实现一个相关的标准PSR-16:通用接口缓存库。简而言之,这是一个简化的缓存机制来存储,从缓存获取和删除条目。这就是前面的示例会与新缓存:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
使用欧宝娱乐app下载地址\组件\缓存\简单的\FilesystemCache;美元缓存=新FilesystemCache ();/ /保存一个条目在缓存中美元缓存- >集(“stats.num_products”,4711年);/ /从缓存中获取项目如果(!美元缓存- >有(“stats.num_products”)){/ /……项目在缓存中不存在}其他的{美元总=美元缓存- >get (“stats.num_products”);}/ /从缓存中移除项美元缓存- >删除(“stats.num_products”);
简单的缓存还允许定义默认值,当物品在缓存中不存在,它定义了setMultiple ()
,getMultiple ()
和deleteMultiple ()
同时处理多个项目的方法。
普通缓存和简单的缓存支持相同的缓存适配器(文件系统、复述、Memcache等。),提供类似的性能,所以决定选择一个或另一个应该基于缓存的功能,你需要。
发表在#生活在边缘
评论
:Bertineau
在2月5日表示,2017年在21:52
# 1
太棒了!前缓存API是混乱。
评论都关门了。
以确保评论保持相关,他们关闭了旧的帖子。