public static final function run() { self::initCache(); $repeats = self::getRepeats(); $bar = new CliProgressBar($repeats); $key = md5('adfjkjkang'); $data = range(0, 10); Cache::setAdapter(MemcacheAdapter::instance()); Cache::set($key, $data); for ($i = 1; $i <= $repeats; ++$i) { Timer::start(); Cache::get($key); Timer::stop(); $bar->update($i); } self::addResult('Memcache', Timer::get()); $bar = new CliProgressBar($repeats); Cache::setAdapter(MemcachedAdapter::instance()); Timer::reset(); for ($i = 1; $i <= $repeats; ++$i) { Timer::start(); Cache::get($key); Timer::stop(); $bar->update($i); } self::addResult('Memcached', Timer::get()); Cache::clear(); }
public function run() { $this->initCache(); $repeats = $this->getRepeats(); $bar = new CliProgressBar($repeats); $data = range(0, 99); Cache::setAdapter(MemcacheAdapter::instance()); for ($i = 1; $i <= $repeats; ++$i) { $key = sha1(uniqid()); Timer::start(); Cache::set($key, $data); Timer::stop(); $bar->update($i); } $this->addResult('Memcache', Timer::get()); $bar = new CliProgressBar($repeats); Timer::reset(); Cache::setAdapter(MemcachedAdapter::instance()); for ($i = 1; $i <= $repeats; ++$i) { $key = sha1(uniqid()); Timer::start(); Cache::set($key, $data); Timer::stop(); $bar->update($i); } $this->addResult('Memcached', Timer::get()); Cache::clear(); }
/** * Returns array that contains routes configuration * * @return array */ public function getData() { if (false !== ($data = Cache::get($this->getPrefix()))) { return $data; } $data = $this->config->getData(); Cache::set($this->getPrefix(), $data); return $data; }
/** * @covers Veles\Cache\Adapters\CacheAdapterAbstract::instance * @covers Veles\Cache\Adapters\CacheAdapterAbstract::invokeLazyCalls */ public function testInstance() { $expected = __NAMESPACE__ . '\\CacheAdapterAbstractChild'; CacheAdapterAbstractChild::setInstance(null); CacheAdapterAbstractChild::addCalls([]); $result = CacheAdapterAbstractChild::instance(); $msg = 'Adapter returned wrong instance object!'; $this->assertInstanceOf($expected, $result, $msg); CacheAdapterAbstractChild::setInstance(null); CacheAdapterAbstractChild::addCalls([['method' => 'testCall', 'arguments' => ['string']]]); $result = CacheAdapterAbstractChild::instance(); $msg = 'Adapter returned wrong instance object!'; $this->assertInstanceOf($expected, $result, $msg); $result = CacheAdapterAbstractChild::getCalls(); $this->assertSame([], $result); Cache::setAdapter(MemcachedAdapter::instance()); }
* @license The BSD 3-Clause License * <https://tldrlegal.com/license/bsd-3-clause-license-(revised)> */ namespace Veles\Tests; use Veles\AutoLoader; use Veles\Cache\Adapters\MemcacheAdapter; use Veles\Cache\Adapters\MemcachedAdapter; use Veles\Cache\Adapters\MemcacheRaw; use Veles\Cache\Cache; use Veles\View\Adapters\NativeAdapter; use Veles\View\View; //ini_set('error_reporting', E_ALL); //ini_set('display_errors', '1'); //ini_set('display_startup_errors', '1'); define('LIB_DIR', realpath(__DIR__ . '/../..')); define('TEST_DIR', realpath(LIB_DIR . '/Veles/Tests')); date_default_timezone_set('Europe/Moscow'); require LIB_DIR . '/Veles/AutoLoader.php'; $includes = LIB_DIR . ':' . TEST_DIR . ':' . realpath(__DIR__ . '/Project'); set_include_path(implode(PATH_SEPARATOR, [$includes, get_include_path()])); AutoLoader::init(); $view_adapter = new NativeAdapter(); $view_adapter->setTemplateDir(TEST_DIR . '/Project/View/'); View::setAdapter($view_adapter); // Cache initialization MemcacheRaw::setConnectionParams('localhost', 11211); MemcachedAdapter::addCall('addServer', ['localhost', 11211]); MemcacheAdapter::addCall('addServer', ['localhost', 11211]); Cache::setAdapter(MemcachedAdapter::instance());
/** * @covers Veles\Cache\Adapters\MemcacheAdapter::delByTemplate */ public function testDelByTemplate() { $key = uniqid('VELES::UNIT-TEST::DEL-BY-TPL::'); $value = mt_rand(1, 1000); Cache::set($key, $value, 10); $result = $this->object->delByTemplate('VELES::UNIT-TEST::DEL-BY-TPL::'); $msg = 'Memcache::delByTemplate() return wrong result!'; $this->assertSame(true, $result, $msg); $result = $this->object->has($key); $msg = 'Key was not deleted by template!'; $this->assertSame(false, $result, $msg); MemcacheRaw::setConnectionParams('localhost', 11213); $result = $this->object->delByTemplate('EnyKey'); $msg = 'Wrong MemcacheAdapter::delByTemplate() behavior!'; $this->assertSame(false, $result, $msg); }
/** * Save form security id to cache * @return bool */ public function saveSid() { return Cache::set($this->name . $this->sid, true, 7200); }
/** * @covers Veles\Cache\Adapters\MemcachedAdapter::decrement */ public function testDecrement() { $key = uniqid('VELES::UNIT-TEST::'); $value = mt_rand(1, 1000); Cache::set($key, $value, 10); $params = [[$key, null, --$value]]; for ($i = 0; $i < 5; ++$i) { $key = uniqid('VELES::UNIT-TEST::'); $value = mt_rand(1000, 2000); $offset = mt_rand(0, 1000); Cache::set($key, $value, 10); $params[] = [$key, $offset, $value - $offset]; } foreach ($params as $param) { list($key, $offset, $expected) = $param; $result = null === $offset ? $this->object->decrement($key, 1) : $this->object->decrement($key, $offset); $msg = 'MemcachedAdapter::decrement returned wrong result type!'; $this->assertInternalType('integer', $result, $msg); $msg = 'MemcachedAdapter::decrement returned wrong result value!'; $this->assertSame($expected, $result, $msg); } }
/** * @covers Veles\Cache\Adapters\MemcacheRaw::query */ public function testQuery() { $key = uniqid("VELES::UNIT-TEST::"); $value = mt_rand(0, 1000); Cache::set($key, $value, 100); $object = new MemcacheRaw(); $output = $object->query("get {$key}"); $expr = "/^VALUE {$key} [\\d\\s]+{$value}\\s\$/"; $result = preg_match($expr, $output); $msg = 'MemcacheRaw::query return wrong result!'; $this->assertSame(1, $result, $msg); }