Symfonyob娱乐下载 3.1新增功能:缓存组件
警告:这篇文章是关于一个不受支持的Symfony版本。ob娱乐下载有些信息可能已经过时了。阅读最新的Symfony文档ob娱乐下载.
提供的
尼古拉斯Grekas
在# 17408.
这是最后一篇文章“Symfonyob娱乐下载 3.1新功能”系列,并介绍了Symfony 3.1最重要的新特性ob娱乐下载缓存组件.
的严格实现PSR-6:缓存接口标准。您可以使用它来缓存应用程序中的任意内容,一些Symfony组件在内部使用它来提高性能。ob娱乐下载
下面的例子展示了如何在基于文件系统的缓存中创建、保存和删除信息:
12 3 4 5 6 7 8 9 10 11 12 13 14 16 17 18 19 20 21 22
使用ob娱乐下载\组件\缓存\适配器\FilesystemAdapter;//可用的适配器:文件系统,apcu, redis, array, doctrine cache等$缓存=新FilesystemAdapter ();//创建一个新项目,从缓存中获取它$numProducts=$缓存->getItem (“stats.num_products”);//为项目赋值并保存$numProducts->集(4711);$缓存->保存($numProducts);//获取缓存项$numProducts=$缓存->getItem (“stats.num_products”);如果(!$numProducts->isHit ()) {/ /……项在缓存中不存在}//获取项存储的值$总计=$numProducts->get ();//删除缓存项$缓存->deleteItem (“stats.num_products”);
缓存组件为最常见的缓存后端(Redis, APCu)提供了适配器,它与每个Doctrine缓存适配器(Memcache, MongoDB, Riak, SQLite等)兼容,它还为高级设置提供了两个特殊的适配器(代理和链)。
例如,如果您的应用程序使用Redis,上面所示的示例仍然有效。你只需要改变缓存适配器的实例化,并保持其余的代码不变:
1 2 3 4
使用ob娱乐下载\组件\缓存\适配器\RedisAdapter;$缓存=新RedisAdapter ($redisConnection);/ /……
的欧宝官网下载appCache组件的文档已经完成了,很快就会合并到Symfony的官方文档中。ob娱乐下载
ob娱乐下载Symfony的集成
Cache组件可以在任何PHP应用程序中使用,但如果使用Symfony框架,则该组件已经集成了。ob娱乐下载ob娱乐下载Symfony定义了两个不同的缓存池:cache.app
是存储由您自己的应用程序生成的信息的地方;cache.system
是Symfony组ob娱乐下载件存储内容的地方(例如Serializer和Validator元数据)。
12 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
/ / src / AppBundle /控制器/ BlogController.php类BlogController扩展控制器{公共函数indexAction(){$cachedCategories=$这->get (“cache.app”)->getItem (“类别”);如果(!$cachedCategories->isHit ()) {$类别=……//从数据库中获取类别$cachedCategories->集($类别);$这->get (“cache.app”)->保存($cachedCategories);}其他的{$类别=$cachedCategories->get ();}/ /……}}
如果您的服务器安装了APCu,则cache.system
Pool使用它。否则,它将回落到文件系统缓存。为cache.app
建议使用合适的缓存后端,如Redis:
1 2 3 4 5
# app / config / config_prod.yml框架:缓存:应用:cache.adapter.redisdefault_redis_provider:“复述:/ / localhost”
你也可以自己创建自定义缓存池它们甚至可以基于默认的配置cache.app
池:
1 2 3 4 5 6 7 8
# app / config / config_prod.yml框架:缓存:#……池:app.cache.customer:适配器:cache.appdefault_lifetime:600
评论
对我来说很像……
* ob娱乐下载Symfony:
** PSR-6实现
**提供理论缓存适配器
**获得许多物品时更快
**将支持标记,从Symfony 3.2开始ob娱乐下载
*原则:
获得单一物品时更快
**支持版本控制
参考:
* https://speakerdeck.com/nicolasgrekas/psr-6-and-ob娱乐下载symfony-cache-de-la-perf-en-standard?slide=25
https://speakerdeck.com/nicolasgrekas/psr-6-and-ob娱乐下载symfony-cache-de-la-perf-en-standard?slide=26
* http://www.slideshare.net/andreromcke/ob娱乐下载symfony-meetup-psr6-symfony-31-cache-component图9
评论截止。
为了确保评论保持相关性,旧帖子将被关闭。
Javier Eguiluz is a certified Symfony engineer.
Get certified! Online exams available in all countries.
Register Now