Page MenuHomePhorge

DivinerDiskCache.php
No OneTemporary

Size
1 KB
Referenced Files
None
Subscribers
None

DivinerDiskCache.php

<?php
abstract class DivinerDiskCache {
private $cache;
public function __construct($cache_directory, $name) {
$dir_cache = id(new PhutilKeyValueCacheDirectory())
->setCacheDirectory($cache_directory);
$profiled_cache = id(new PhutilKeyValueCacheProfiler($dir_cache))
->setProfiler(PhutilServiceProfiler::getInstance())
->setName($name);
$this->cache = $profiled_cache;
}
protected function getCache() {
return $this->cache;
}
public function delete() {
$this->getCache()->destroyCache();
return $this;
}
/**
* Convert a long-form hash key like `ccbbaaaaaaaaaaaaaaaaaaaaaaaaaaaaN` into
* a shortened directory form, like `cc/bb/aaaaaaaaN`. In conjunction with
* @{class:PhutilKeyValueCacheDirectory}, this gives us nice directories
* inside .divinercache instead of a million hash files with huge names at
* top level.
*/
protected function getHashKey($hash) {
return implode(
'/',
array(
substr($hash, 0, 2),
substr($hash, 2, 2),
substr($hash, 4, 8),
));
}
}

File Metadata

Mime Type
text/x-php
Expires
Tue, May 6, 1:25 AM (2 d)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
79115
Default Alt Text
DivinerDiskCache.php (1 KB)

Event Timeline