用于提高网页性能的zend mysql缓存在php中

时间:2014-10-16 06:08:10

标签: zend-framework

我们在共享域中托管一个站点,我们没有安装memcache和APC服务。另一方面,在我们的一个表中,该表数据大约是11,00,000行。我们想实现zend mysql缓存我们的系统用于缓存mysql查询结果缓存。请指导我如何为我们的案例实现zend缓存?

1 个答案:

答案 0 :(得分:0)

如果您使用的是zend框架,那么这个例子就是使用zend框架(版本1. *)库的不同情况。您可以从Zend Framework

下载库
include 'library/Zend/Cache.php';//include zend cache library

// set cache options
$frontendOptions = array(
   'lifetime' => null, // cache lifetime of 2 hours
   'automatic_serialization' => true
);

$backendOptions = array(
    'cache_dir' => './tmp/' // Directory where to put the cache files
);

// getting a Zend_Cache_Core object
$cache = Zend_Cache::factory('Core',
                             'File',
                             $frontendOptions,
                             $backendOptions);


// see if a cache already exists:
if( ($result = $cache->load('myresult')) === false ) {

    // cache miss; connect to the database

    mysql_connect('localhost', 'user', 'password');
    mysql_select_db('test');
    $query = 'select * from users';
    $rs = mysql_query($query);
    while($row = mysql_fetch_assoc($rs))
    {
        $result[] = $row;
    }


    $cache->save($result, 'myresult');

} else {

    // cache hit! shout so that we know
    echo "This one is from cache!\n\n";

}

print_r($result);

您可以在http://framework.zend.com/manual/1.12/en/zend.cache.introduction.html

找到更多详细信息