zend_cache绝对过期时间



我正在使用带有zend框架和zend_cache的php。我有这些代码行:'

    $frontendOptions = array ('lifetime' => 12 * 3600, 'automatic_serialization' => true );
    $backendOptions = array ('cache_dir' => APPLICATION_PATH . '/../tmp');
    $cache = Zend_Cache::factory ( 'Core', 'File', $frontendOptions, $backendOptions );
    $CacheName = ('CACHE_NAME');
    $CacheResult = $cache->load ( $CacheName );
    if($CacheResult==false)
        echo 'no cache or chache is expired';
    else 
        var_dump($CacheResult);`

问题是当我使用这样的保存函数时:

$cache->save($data,$CacheName);

我不希望更新过期时间。有没有办法在不更新过期时间的情况下更新缓存?

首先,ZF1 的Zend_Cache将给定的生命周期存储为固定的过期时间。因此,您只需根据当前时间和到期时间计算当前生存期:

$lifetime = $expirationTime - time();
if ($lifetime > 0) {
    $cache->save($data, $id, $tags, $lifetime);
}

PS:在ZF2中,您必须检查存储是否以当前时间,mtime和给定TTL(如文件系统)或存储的固定到期时间(如memcache/apc)为基础检查过期时间。

相关内容

  • 没有找到相关文章

最新更新