Symfonyob娱乐下载 3.3新增功能:Memcached缓存适配器
2017年1月11日·发表的哈维尔Eguiluz
警告:这篇文章是关于一个不受支持的Symfony版本。ob娱乐下载有些信息可能已经过时了。阅读最新的Symfony文档ob娱乐下载.
提供的
Rob Frawley而且尼古拉斯Grekas
在# 20858而且# 21108.
的ob娱乐下载Symfony缓存组件包括几个适配器,以支持不同的缓存机制,如Redis, APCu,文件系统等。在Syob娱乐下载mfony 3.3中,我们添加了一个新的Memcached适配器.
当将它作为组件使用时,首先创建到Memcached服务器的连接,然后实例化新的适配器:
1 2 3 4
使用ob娱乐下载\组件\缓存\适配器\MemcachedAdapter;$客户端= MemcachedAdapter::createConnection (memcached: / / localhost的);$缓存=新MemcachedAdapter (\ Memcached$客户端,$名称空间=”,$defaultLifetime=0);
除了简单的服务器,连接也可以是一个Memcached实例集群,具有各种自定义配置:
1 2 3 4 5 6 7 8 9
$客户端= MemcachedAdapter::createConnection (数组(/ /格式= > memcached: / /[用户:pass@] [ip主机| |套接字[:端口]][?重量= int]// 'weight'的范围从0到100,用于服务器的优先级“memcached: / / my.server.com: 11211”“memcached: / /说明:abcdef@localhost”memcached: / / 127.0.0.1 ?重量= 50 'memcached: / /用户名:the-password@ / var /运行/ memcached.sock”memcached: / / / var /运行/ memcached.sock吗?重量= 20 '));
当在Symfony应用程序中使ob娱乐下载用时,配置和使用Memcached甚至更简单:
1 2 3 4 5 6 7 8 9 10 11
# app / config / config_prod.yml框架:缓存:#默认为memcached://localhostdefault_memcached_provider:“memcached: / / my.server.com: 11211”#……池:app.cache.products:适配器:cache.adapter.memcached公众:真正的#……
现在你可以开始在基于memcache的缓存中存储和获取项目了:
1 2 3 4 5 6 7 8
$cacheProduct=$这->get (“app.cache.products”)->getItem ($productId);如果(!$cacheProduct->isHit ()) {$产品=……$cacheProduct->集($产品);$这->get (“app.cache.products”)->保存($cacheProduct);}其他的{$产品=$cacheProduct->get ();}
发表在#生活在边缘
评论
Jelle Kapitein
2017年1月12日在07:45
公认的做法是只注入你需要的服务,而不是整个容器。
丹尼斯Golubovskiy
2017年2月17日在16:39
为了避免在我们公司的控制器中使用$this->get(),我们使用https://github.com/dunglas/DunglasActionBundle
这个包的所有优点都在文档中描述。
这个包的所有优点都在文档中描述。
评论截止。
为了确保评论保持相关性,旧帖子将被关闭。
Javier Eguiluz is a certified Symfony engineer.
Get certified! Online exams available in all countries.
Register Now当然,这并不意味着你的评论是错误的,但我们认为这样做的利大于弊。谢谢你的理解。