0

我正在尝试在 ZendFrame 下构建的项目中采用 memcached。

首先,我在库中创建了一个 Memcached 类(这似乎有点不必要,因为它几乎只是封装了 memcache 提供的功能)

然后我想知道我应该在哪里使用它?

控制器还是映射器?

我可以看到两种方式都有其意义,这样做的传统方式是什么。

多谢你们。

4

1 回答 1

1

在 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);

你可以在哪里使用它?

在您的应用程序中的任何地方!

浏览这篇好文章

任何问题?:)

于 2012-08-17T05:45:26.707 回答