Zend framework 在ZF项目中,将memcache放在何处?
我试图在我的项目中采用memcached,该项目是在ZendFrame下构建的 首先,我在库中创建了一个Memcached类(这似乎有点不必要,因为它几乎只封装了memcache提供的函数) 那么我想知道我到底应该在哪里使用它 控制器还是映射器 我可以看出这两种方法都有其道理,做这件事的常规方法是什么Zend framework 在ZF项目中,将memcache放在何处?,zend-framework,memcached,convention,Zend Framework,Memcached,Convention,我试图在我的项目中采用memcached,该项目是在ZendFrame下构建的 首先,我在库中创建了一个Memcached类(这似乎有点不必要,因为它几乎只封装了memcache提供的函数) 那么我想知道我到底应该在哪里使用它 控制器还是映射器 我可以看出这两种方法都有其道理,做这件事的常规方法是什么 谢谢,伙计们。在bootstrap.php下,您需要使用返回void的_initCache()函数定义配置 定义前端驱动程序、后端驱动程序(您将在其中物理保存数据)并加载工厂 有两种类型的缓存,服
谢谢,伙计们。在bootstrap.php下,您需要使用返回void的_initCache()函数定义配置 定义前端驱动程序、后端驱动程序(您将在其中物理保存数据)并加载工厂 有两种类型的缓存,服务器和压缩 如果选择服务器,则需要定义外部扩展(memcached是一个扩展) 我推荐的一个片段是:
function _initCache() {
$frontendDriver = 'Core';
$frontendOptions = array(
'lifetime' => 7200, // cache lifetime of 2 hours
'automatic_serialization' => true
);
$backendDriver = extension_loaded('memcache') ? 'Memcached' : 'File';
$backendOptions = array();
// getting a Zend_Cache_Core object
$cache = Zend_Cache::factory($frontendDriver, $backendDriver, $frontendOptions, $backendOptions);
Zend_Registry::set('Zend_Cache', $cache);
}
正在从缓存获取数据:
$date = $cache->load($cacheKey);
将数据保存到缓存:
$cache->save($data, $cacheKey);
你在哪里可以使用它
应用程序中的任意位置
经历这一切
有问题吗?:) 非常感谢你,业力大师:-这真的扩展了我对这件事的看法。虽然最后一个问题是,是的,它可能在任何地方,但有没有任何惯例或建议的规则,它应该只放在控制器或模型中,像这样?大师?哇!谢谢!:)它应该是模型。模型=业务逻辑=从任何外部(缓存、数据库等都是外部源)获取+操作+事务。现在单击我答案左侧的勾号,以便其他人也可以参考;):D