memcached:
class: Memcache
calls:
- [ addServer, ['%memcached_host%', '%memcached_port%'] ]
这是我在config.yml中使用的当前代码,如何在开发环境中指定Memcache不在memcache->set(
}方法上缓存数据,并在生产中正常工作。
是否有某种旗帜可以关闭Memcache?
答案 0 :(得分:3)
我不熟悉Memcache
但对此类案例采用的常见方法是在每个环境中使用单独的config.yml
:
memcached
条目从config.yml
移至config_prod.yml
(在生产环境中memcached
将像以前一样工作)config_dev.yml
中添加类似的memcached
条目但是使用另一个类 - 您可能需要创建此类,它可能需要扩展Memcache
类并覆盖您希望以不同方式运行的方法(即set()
)。 在此配置中,您将针对不同的环境使用不同的Memcache
类,在开发环境中,您的Memcache
类将为“虚拟”,这意味着什么都不做。
答案 1 :(得分:0)
这是常规的config.yml。
services:
memcached:
class: Memcache
calls:
- [ addServer, ['%memcached_host%', '%memcached_port%'] ]
我在config_dev.yml
services:
memcached:
class: Memcache
calls:
- [ addServer, ['%memcached_host%', '%memcached_port%'] ]
- [ flush ]
您会注意到下面添加了- [ flush ]
方法
它不是杀死memcache过程,而是清除所有存储的数据,使它们过期。