php – 如果服务器脱机,如何告诉doctrine忽略Memcached?
我在我的Symfony2应用程序上测试Memcached
我将其设置为缓存doctrine的查询,结果和元数据: orm: entity_managers: default: metadata_cache_driver: type: service id: doctrine.cache.memcache2 query_cache_driver: type: service id: doctrine.cache.memcache2 result_cache_driver: type: service id: doctrine.cache.memcache2 services: memcache: class: Memcache calls: - [ addserver,[ 'localhost',11211 ]] doctrine.cache.memcache2: class: DoctrineCommonCacheMemcacheCache calls: - [setMemcache,[@memcache]] 到现在为止,一切正常. 我想知道如果Memcached服务器出现故障,学说会如何表现.据我所知,应用程序中断了.在开发模式下,我收到以下消息:
在生产模式中,我还会看到一个http 500. 有没有办法告诉学说绕过/忽略Memcached服务器并直接转到数据库,而不是返回500? 解决方法
您可以使用doctrine / orm 2.5中提供的二级缓存
看到: 保留orm的默认选项并将memcache添加为二级缓存的想法: orm: entity_managers: default: auto_mapping: true second_level_cache: region_cache_driver: type: service id: doctrine.cache.memcache2 enabled: true regions: region_name: cache_driver: type: service id: doctrine.cache.memcache2 启用后,将首先在缓存中搜索实体,如果找不到实体,则会触发数据库查询,然后实体结果将存储在缓存提供程序中. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |