public function get_china_dest_by_parent_id($parent_id) { $memcache = new memcache(); $memcache->connect($this->config->item('localMemcache_ip'), $this->config->item('localMemcache_port')); $dest = $memcache->get('china_dest' . $parent_id); if ($dest !== array()) { $cond = array('table' => 'china_dest', 'fields' => '*', 'where' => array('parent_id' => $parent_id)); $dest = $this->get_all($cond); $memcache->set('china_dest' . $parent_id, $dest, FALSE, 1800); } return $this->get_all($cond); }
/** * (non-PHPdoc) * @see Atrox/Core/Cache/Atrox_Core_Caching_ICacheManager#getFileContents($filename, $expire, $context) */ public function getFileContents($filename, $expire = false, $context = null) { $key = $this->keyPrefix . "__File:" . md5($filename); if ($data = $this->memcache->get($key)) { return $data; } else { try { $data = @file_get_contents($filename, 0, $context); $this->memcache->set($key, $data, false, $expire); } catch (Exception $e) { echo $e->getMessage(); throw new Atrox_Core_Exception_NoSuchFileException("'{$filename}' does not exist"); } } return $data; }
public function load($objectId) { $value = $this->memcache->get($this->encode($this->namespace, $objectId)); return $value !== false ? $value : null; }
<?php // test $mc = new memcache(); $mc->addServer("127.0.0.1", 15801); $t1 = microtime(true); //for ($i=1; $i<11; $i++) { //$data = $mc->set("articles", "a_".$i, 600); //var_dump($data); //} $data = $mc->get("articles5#1770949968#10#100"); var_dump(json_decode($data)); //var_dump($mc->get("")); //var_dump($mc->delete("sdsd")); var_dump(microtime(true) - $t1); //var_dump($mc->delete("1#1770949965#222"));
function updatecaching() { checktoken(); global $cookiePrefix; $conn = 1; $memcachierAuth = 0; $errorCode = 0; if ($_POST['cachingType'] == 1 && isset($_POST['usememcachier']) && $_POST['usememcachier'] == 'on') { $conn = 0; $_POST['cachingType'] = '3'; include_once dirname(dirname(__FILE__)) . DIRECTORY_SEPARATOR . "MemcacheSASL.php"; $memcache = new MemcacheSASL(); @$memcache->addServer($_POST['MC_SERVER'], $_POST['MC_PORT']); if ($memcachierAuth = @$memcache->setSaslAuthData($_POST['MC_USERNAME'], $_POST['MC_PASSWORD'])) { @$memcache->add('auth', 'ok'); if (!($conn = @$memcache->get('auth'))) { $errorCode = 3; } @$memcache->delete('auth'); } else { $errorCode = 3; } } elseif ($_POST['cachingType'] == 1 && !isset($_POST['usememcachier'])) { $conn = 0; if (class_exists('memcache')) { $memcache = new memcache(); @$memcache->connect($_POST['MC_SERVER'], $_POST['MC_PORT']); @$memcache->set('auth', '1'); if (!($conn = $memcache->get('auth'))) { $errorCode = 1; } @$memcache->delete('auth'); } } elseif ($_POST['cachingType'] == 2) { $file = dirname(dirname(__FILE__)) . DIRECTORY_SEPARATOR . 'cache' . DIRECTORY_SEPARATOR . 'filecache_test.txt'; @($handle = fopen($file, 'w')); if (@(!fwrite($handle, "1"))) { $errorCode = 2; @unlink(dirname(dirname(__FILE__)) . DIRECTORY_SEPARATOR . 'cache' . DIRECTORY_SEPARATOR . 'filecache_test.txt'); } @fclose($handle); } if ($conn && !$errorCode) { $data = 'define(\'MEMCACHE\',\'' . $_POST['cachingType'] . '\');' . "\t\t\t\t// Set to 0 for disable caching, 1 for memcaching, 2 for file caching, 3 for memcachier\r\n"; $data .= 'define(\'MC_SERVER\',\'' . $_POST['MC_SERVER'] . '\');' . "\t// Set name of your memcache server\r\n"; $data .= 'define(\'MC_PORT\',\'' . $_POST['MC_PORT'] . '\');' . "\t\t\t// Set port of your memcache server\r\n"; $data .= 'define(\'MC_USERNAME\',\'' . $_POST['MC_USERNAME'] . '\');' . "\t\t\t\t\t\t\t// Set username of memcachier server\r\n"; $data .= 'define(\'MC_PASSWORD\',\'' . $_POST['MC_PASSWORD'] . '\');' . "\t\t\t// Set password your memcachier server"; configeditor('MEMCACHE', $data, 0); $_SESSION['cometchat']['error'] = 'Caching details updated successfully.'; } else { if ($errorCode == 3) { $_SESSION['cometchat']['error'] = 'Failed to update caching details. Please check your memchachier server details'; } elseif ($errorCode == 2) { $_SESSION['cometchat']['error'] = 'Please check file permission of your cache directory. Please try 755/777/644'; } else { $_SESSION['cometchat']['error'] = 'Failed to update caching details. Please check your memcache server configuration.'; } } header("Location:?module=settings&action=caching"); }
$xmlString = file_get_contents('http://www.billboard.com/rss/charts/hot-100'); $cache->set('top', $xmlString, 0, 8600); } $xml = new SimpleXMLElement($xmlString); $results = $xml->channel[0]->item; $app->render('layout.php', ['page' => 'main', 'results' => $results]); }); // Search route $app->get('/:query.html', function ($query) use($app) { $query = urlclean($query); // Save request $client = new \Sokil\Mongo\Client(MONGO_DSN); $collection = $client->getDatabase(MONGO_DBNAME)->getCollection(MONGO_COLLECTION); if (!$collection->find(['request' => $query])->count()) { $collection->insert(['request' => $query, 'created' => new MongoDate(), 'views' => 1]); } else { $collection->getMongoCollection()->update(['request' => $query], ['$inc' => ['views' => 1]]); } // Search from Vk or memcache $cache = new memcache(); $cache->connect('localhost'); // Поиск в ВК и отправка пользователю if (($results = $cache->get($query)) === false) { // Search from Vk or memcache $http = new dHttp\Client('https://api.vk.com/method/audio.search.json?access_token=096fb2d19fc28da6694e9db15f47ff9561c36628f5485fbcd642f7edc6185ea413ab2f2fa4a5c1789cb79&q=' . urlencode($query)); $results = json_decode($http->get()->getBody(), true); $cache->set($query, json_decode($http->get()->getBody(), true), 0, 72000); } $app->render('layout.php', ['page' => 'search', 'results' => $results, 'query' => $query]); })->conditions(['query' => '.+']); $app->run();