Esempio n. 1
0
 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);
     }
 }