コード例 #1
0
ファイル: destination_model.php プロジェクト: qiuai/qieyou
 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);
 }
コード例 #2
0
ファイル: Memcached.php プロジェクト: serby/Atrox
 /**
  * (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;
 }
コード例 #3
0
ファイル: Memcache.php プロジェクト: godboko/modules
 public function load($objectId)
 {
     $value = $this->memcache->get($this->encode($this->namespace, $objectId));
     return $value !== false ? $value : null;
 }
コード例 #4
0
ファイル: test_mc.php プロジェクト: burstzp/subscribe
<?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"));
コード例 #5
0
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");
}
コード例 #6
0
ファイル: index.php プロジェクト: gogi4ello/website
        $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();