コード例 #1
0
 public function mc()
 {
     $mc = new MyMemcache();
     $mc->get('abc');
     $mc->set('abc', '1');
     $mc->increment('abc', 3);
     $mc->decrement('abc');
 }
コード例 #2
0
ファイル: Cache.class.php プロジェクト: lughong/test
 public static function set($key_footer = null, $data = array())
 {
     if (self::$_redis) {
         //开启了redis缓存
         return MyRedis::set($key_footer, $data);
     } elseif (self::$_memcache) {
         //开启了memcache缓存
         return MyMemcache::set($key_footer, $data);
     } else {
         return false;
     }
 }
コード例 #3
0
ファイル: test.php プロジェクト: lughong/test
 public function test_mem()
 {
     $mem = MyMemcache::connect();
     if ($mem) {
         var_dump(MyMemcache::get('name'));
         var_dump(MyMemcache::set('news', 'sumshine'));
         var_dump(MyMemcache::get('news'));
         var_dump(MyMemcache::del('news'));
         var_dump(MyMemcache::get('news'));
         var_dump(MyMemcache::getAllKeysValues());
     } else {
         echo 'not have connect memcache';
     }
 }
コード例 #4
0
ファイル: Http.php プロジェクト: az0ne/diaoyu
 /**
  * 请求http地址前先查MC是否缓存了结果
  * @param string $req 请求url,必传参数
  * @param int $expire MC失效时间,默认10分钟。
  * @param array $header 默认为空。示例$header = array('Host: www.dagger.com');
  * @param int $timeout 超时设定,默认为5秒
  * @param string $cookie 默认为空。示例 $cookie="fruit=apple; colour=red";
  * @param int $redo 请求失败后重试次数,默认为0
  * @param int $maxredirect 如果遇上跳转,跳转几次后返回。默认为2
  * @return string
  * @author 
  */
 public static function getWithMC($req, $expire = '', $header, $timeout = BaseModelHttp::DAGGER_HTTP_TIMEOUT, $cookie = '', $redo = 1, $maxredirect = BaseModelHttp::DAGGER_HTTP_MAXREDIRECT)
 {
     self::debugMCInfo();
     $mc = new MyMemcache();
     $mcResultKey = __FUNCTION__ . '|' . md5(serialize(func_get_args()));
     $result = $mc->get($mcResultKey);
     if (empty($result)) {
         $result = self::get($req, $header, $timeout, $cookie, $redo, $maxredirect);
         $expire = intval($expire);
         if (empty($expire)) {
             $expire = Http::$MC_EXPIRE_TIME;
         }
         $mc->set($mcResultKey, $result, $expire);
     }
     return $result;
 }
コード例 #5
0
 /**
  * mtiTheading 多线程单例,双重锁
  * 
  * @Access public
  * @Return void
  */
 public static function mtiTheading($tabName, $UserModel)
 {
     if (empty($UserModel)) {
         if (empty(self::$SingTon)) {
             self::$SingTon = new Model();
         }
         $singTon = serialize(self::$SingTon);
         $model = MyMemcache::get('model');
         if (empty($model)) {
             MyMemcache::set('model', $singTon);
         }
         return unserialize(MyMemcache::get('model'));
     } else {
         if (empty(self::$userModel[$tabName])) {
             self::$userModel[$tabName] = new $UserModel();
         }
         $singTon = serialize(self::$userModel[$tabName]);
         $model = MyMemcache::get($tabName);
         if (empty($model)) {
             MyMemcache::set($tabName, $singTon);
         }
         return unserialize(MyMemcache::get($tabName));
     }
 }
コード例 #6
0
ファイル: logger.php プロジェクト: shaoshao613/footprint
        if (isset($key)) {
            $key .= ",`" . $v . "`";
            $value .= ",'" . mysql_real_escape_string($_GET[$v]) . "'";
        } else {
            $key = "`" . $v . "`";
            $value = "'" . mysql_real_escape_string($_GET[$v]) . "'";
        }
    }
    $mysql->replace("foot", "{$key}", "{$value}");
    //插入数据
    unset($value);
    unset($key);
}
$_GET['footId'] = mysql_insert_id();
//echo $_GET['footId'];
$myMemcache->set("like" . $_GET['footId'], $_GET['like']);
if (isset($_GET['url'])) {
    $myMemcache->set($_GET['url'], $_GET['footId']);
}
$_GET['timestamp'] = time();
$footprintId = $myMemcache->get($_GET['userId'] . "foot:" . $_GET['footId']);
$FootPrintList = array('userId', 'footId', 'initiative', 'time', 'timestamp');
foreach ($FootPrintList as $k => $v) {
    if (isset($key)) {
        $key .= ",`" . $v . "`";
        $value .= ",'" . mysql_real_escape_string($_GET[$v]) . "'";
    } else {
        $key = "`" . $v . "`";
        $value = "'" . mysql_real_escape_string($_GET[$v]) . "'";
    }
}
コード例 #7
0
ファイル: register.php プロジェクト: shaoshao613/footprint
    }
    if (isset($key)) {
        $key .= ",`" . $v . "`";
        $value .= ",'" . mysql_real_escape_string($_POST[$v]) . "'";
    } else {
        $key = "`" . $v . "`";
        $value = "'" . mysql_real_escape_string($_POST[$v]) . "'";
    }
}
$mysql = new Mysql();
//连接数据库
$userName = $_POST['userName'];
$result = $mysql->select("*", 'user', '`username`', "'{$userName}'");
if (!$result) {
    $mysql->replace("user", "{$key}", "{$value}");
    $userId = mysql_insert_id();
    $mysql->close();
} else {
    $res = ['ok' => 0, 'error' => 'username existed'];
    echo json_encode($res);
    die;
}
$myMemcache = new MyMemcache();
$expireTime = 7 * 24 * 3600;
$token = md5(uniqid(rand(), TRUE));
$myMemcache->set("u" . $userId, $token, $expireTime);
$myMemcache->set($token, $userId, $expireTime);
$myMemcache->close();
$user = [userId => $userId, token => $token, expireTime => $expireTime];
$res = [ok => 1, data => $user];
echo json_encode($res);
コード例 #8
0
ファイル: example.php プロジェクト: az0ne/diaoyu
$db = new BaseModelDB();
$rs = $db->getData("SELECT * FROM `test`", 10);
exit;
$starttime = microtime(true);
$mcd = new MyMemcached();
$a = array();
for ($i = 0; $i < 100; $i++) {
    $a['key' . $i] = $i;
}
$mcd->setMulti($a, 10);
$t1 = microtime(true) - $starttime;
$starttime = microtime(true);
$mc = new MyMemcache();
for ($i = 0; $i < 100; $i++) {
    $a['key' . $i] = $i;
    $mc->set('key' . $i, $i, 10);
}
$t2 = microtime(true) - $starttime;
var_dump($t1, $t2, $t2 - $t1);
exit;
var_dump($mc->get('test'));
var_dump($mcd->setMulti('test', 1, 5));
var_dump($mc->getMulti(array('test')));
sleep(5);
var_dump($mc->get('test'));
var_dump($mc->getMulti(array('test')));
exit;
Log::sendLog(100, "[{$absDataPath}]看了还看数据推送异常。联系zhixiong1@,6883,15810834486。");
exit;
echo 1;
sleep(30);
コード例 #9
0
ファイル: upload.php プロジェクト: shaoshao613/footprint
//打印出所有的 错误信息
ini_set('error_log', dirname(__FILE__) . '/error_log.txt');
include "../Visitor.php";
$userId = getUserId();
$mysql = new Mysql();
//$regular=new Regular(null);
//$regular->host="http://www.google.com/";
//$regular->threshold=100;
//$regulars[]=$regular;
//
//$regular=new Regular(null);
//$regular->host="http://www.jd.com/";
//$regular->threshold=10000;
//$regulars[]=$regular;
//var_dump($_POST['data']);
$regulars = json_decode($_POST['data']);
$myMemcache = new MyMemcache();
foreach ($regulars as $item) {
    $key = $item->threshold . "_" . $item->host;
    if ($myMemcache->get($key)) {
        $id = $myMemcache->get($key);
    } else {
        $mysql->insert("regular", "`host`,`threshold`", "'{$item->host}','{$item->threshold}'");
        $id = mysql_insert_id();
        $myMemcache->set($key, $id);
    }
    $time = time();
    $mysql->replace("user_regular", "`user_id`,`regular_id`,`time`", "'{$userId}','{$id}','{$time}'");
}
$data = json_encode($regulars);
echo $data;
コード例 #10
0
ファイル: test.php プロジェクト: lughong/shop
 public function mem()
 {
     $mem = MyMemcache::connect();
     if ($mem) {
         var_dump(MyMemcache::get('memcache'));
         var_dump(MyMemcache::set('memcache', 'mymemcache'));
         var_dump(MyMemcache::get('memcache'));
         var_dump(MyMemcache::del('memcache'));
         var_dump(MyMemcache::get('memcache'));
         var_dump(MyMemcache::getAllKeysValues());
     } else {
         echo 'not have connect memcache';
     }
 }
コード例 #11
0
ファイル: MyDB.php プロジェクト: az0ne/diaoyu
 /**
  * 返回结果集的第一条记录的第一个字段。
  * 支持MC的数据查询,只查询从库。因为查询主库不应该读取memcache数据
  */
 public function getFirstWithMC($sql, $data = '', $expire = '')
 {
     $expire = intval($expire);
     if (empty($expire)) {
         $expire = $this->MC_EXPIRE_TIME;
     }
     $mc = new MyMemcache();
     $args = func_get_args();
     $mcResultKey = __FUNCTION__ . '|' . md5(implode('', array(serialize($args), $this->DBName)));
     //结果的mckey
     $result = $mc->get($mcResultKey);
     $needQueryDB = $result === false;
     if ($needQueryDB) {
         $result = $this->getFirst($sql, $data, 'slave');
         $result && $mc->set($mcResultKey, $result, $expire);
     } else {
     }
     return $result;
 }
コード例 #12
0
ファイル: create.php プロジェクト: shaoshao613/footprint
/**
 * Created by PhpStorm.
 * User: shaoting
 * Date: 15/7/25
 * Time: 下午2:33
 */
include "../memcache.php";
$myMemcache = new MyMemcache();
$expireTime = 7 * 24 * 3600;
$userId = time() / 10 % 10000;
$token = $myMemcache->get("u" . $userId);
while ($token) {
    $userId = $userId * 2;
    $token = $myMemcache->get($userId);
}
$token = md5(uniqid(rand(), TRUE));
$myMemcache->set("u" . $userId, $token);
$myMemcache->set($token, $userId);
$myMemcache->close();
$user = [userId => $userId, token => $token];
$res = [ok => 1, data => $user];
echo json_encode($res);
include '../Mysql.php';
$mysql = new Mysql();
//连接数据库
$userName = "******" . $userId;
$mysql->insert("user", "`userId`,`userName`", "'{$userId}','{$userName}'");
//插入数据
$mysql->close();
//关闭连接
コード例 #13
0
ファイル: 1.php プロジェクト: az0ne/diaoyu
<?php

include 'global.php';
$rs = MyRedis::getInstance();
$mc = new MyMemcache();
$mc->set('a', array(1, 2, 3));
$rs->set('a', array(1, 2, 3));
print_r($rs->get('a'));
print_r($mc->get('a'));