public function testMemcachedLifetime() { if (!class_exists('Memcached')) { $this->markTestSkipped(); return; } $cache = new GitPHP_Cache(new GitPHP_Cache_Memcached(array(array('127.0.0.1', 11211)))); $cache->Clear(); $cache->Set('testkey1|testkey2', 'testvalue1', 1); sleep(2); $this->assertFalse($cache->Exists('testkey1|testkey2')); $cache->SetLifetime(1); $cache->Set('testkey3|testkey4', 'testvalue2'); sleep(2); $this->assertFalse($cache->Get('testkey3|testkey4')); }
/** * Initialize project list */ protected function InitializeProjectList() { if (file_exists(GITPHP_CONFIGDIR . 'projects.conf.php')) { $this->projectList = GitPHP_ProjectList::Instantiate($this->config, GITPHP_CONFIGDIR . 'projects.conf.php', false); } else { $this->projectList = GitPHP_ProjectList::Instantiate($this->config, GITPHP_CONFIGDIR . 'gitphp.conf.php', true); } $this->projectList->SetMemoryCache(new GitPHP_MemoryCache($this->config->GetValue('objectmemory'))); if ($this->config->GetValue('objectcache')) { $strategy = null; $servers = $this->config->GetValue('memcache'); if ($servers) { if (class_exists('Memcached')) { $strategy = new GitPHP_Cache_Memcached($servers); } else { if (class_exists('Memcache')) { $strategy = new GitPHP_Cache_Memcache($servers); } else { throw new GitPHP_MissingMemcacheException(); } } } else { $strategy = new GitPHP_Cache_File(GITPHP_CACHEDIR . 'objects', $this->config->GetValue('objectcachecompress')); } $cache = new GitPHP_Cache($strategy); $cache->SetLifetime($this->config->GetValue('objectcachelifetime')); $this->projectList->SetCache($cache); } $this->projectList->SetExe($this->exe); if ($this->log) { $this->projectList->AddObserver($this->log); } }