"internal-3G-BLOG-GW-1145222850.cn-north-1.elb.amazonaws.com.cn", "port" => "6666"); public $memcache = array( 'servers' => array( array('host' => 'livestockmem.r2bd3q.cfg.cnn1.cache.amazonaws.com.cn', 'port' => 11211), ), 'prefix' => 'zjcj', 'expire' => 900, ); function __construct() { $this->socket = new CSocket($this->params); $this->cache = new CMemcache($this->memcache); } function getArticleStat($articles) { $articles = is_array($articles) ? $articles : array(0 => $articles); $type = 'B382'; $data['ArticleIDs'] = join(',', $articles); $data['StartNo'] = 0; $data['QryCount'] = count($articles); $ckey = 'Memberblog_getArticleStat_{ArticleIDs}_count'; $ckey = str_replace('{ArticleIDs}', $data['ArticleIDs'], $ckey); $rs = $this->cache->get($ckey); if (!$rs) { $rs = $this->socket->senddata($type, $data); if ($rs["Status"]["RetRecords"] > 0) { $getdata = $rs["Records"]; $this->cache->set($ckey, $getdata); return $getdata; } else { return false; } } return $rs; } function getfocuscount($UserID,$ArticleID){ $type = 'B274'; $data['UserID'] =$UserID; $data['ArticleID'] = $ArticleID; $rtn=$this->socket->senddata($type, $data); return $rtn; } /* --|获取个人博客列表 --|根据用户ID查博客列表 */ function getMemberBlogListByUserID($data) { if (empty($data['QryData']) || intval($data['QryData']) <= 0) return false; $type = 'B050'; $data['OrderBy'] = isset($data['OrderBy']) ? $data['OrderBy'] : 0; $data['StartNo'] = isset($data['StartNo']) ? $data['StartNo'] : -1; $data['Type'] = 4; //根据UserID $data['Function'] = 'getMemberBlogListByUserID'; if (ISCACHE) { if ($data['StartNo'] == -1) { $ckey = 'Memberblog_getMemberBlogList_Count_{QryData}_{Type}'; $ckey = str_replace('{QryData}', $data['QryData'], $ckey); $ckey = str_replace('{Type}', $data['Type'], $ckey); $rs = $this->cache->get($ckey); if (!$rs) { $rs = $this->socket->senddata($type, $data); $this->cache->set($ckey, $rs["Status"]['TtlRecords']); return $rs["Status"]['TtlRecords']; } return $rs; } else { $ckey = 'Memberblog_getMemberBlogList_{QryData}_{Type}'; $ckey = str_replace('{QryData}', $data['QryData'], $ckey); $ckey = str_replace('{Type}', $data['Type'], $ckey); $rs = $this->cache->get($ckey); $rs=false; if (!$rs) { $rs = $this->socket->senddata($type, $data); if($_GET["sd"]){ var_dump($data); var_dump($rs); } if ($rs['Status']['RetRecords'] > 0) { if($rs['Status']['RetRecords']==1){ $getData['Record'] = $rs['Records']['Record']; $getData['RetRecords'] = $rs['Status']['RetRecords']; }else{ foreach($rs['Records']['Record'] as $key=>$val){ if(intval($val["IsPrimary"])==1){ $getData['Record']= $rs['Records']['Record'][$key]; $getData['RetRecords'] = $rs['Status']['RetRecords']; } } } $this->cache->set($ckey, $getData); } else { $getData = false; } unset($rs); return $getData; } return $rs; } } else { $rs = $this->socket->senddata($type, $data); $getData = array(); if ($data['StartNo'] == -1) { return $rs["Status"]['TtlRecords']; } if ($rs['Status']['RetRecords'] > 0) { $getData['Record'] = $rs['Records']['Record']; $getData['RetRecords'] = $rs['Status']['RetRecords']; } else { $getData = false; } unset($rs); return $getData; } } /* --|通过域名获取博客信息 */ function getMemberBlogByDomainName($data) { if (empty($data['QryData'])) return false; $type = 'B050'; $data['OrderBy'] = isset($data['OrderBy']) ? $data['OrderBy'] : 0; $data['Type'] = 3; //根据域名 $data['StartNo'] = 0; $data['QryCount'] = 1; $data['Function'] = 'getMemberBlogbyDomainName'; if (!ISCACHE) {//上线后改回 $ckey = 'Memberblog_getMemberBlogbyDomainName_{QryData}_{Type}'; ; $ckey = str_replace('{QryData}', $data['QryData'], $ckey); $ckey = str_replace('{Type}', $data['Type'], $ckey); $rs = $this->cache->get($ckey); if (!$rs) { $rs = $this->socket->senddata($type, $data); $getData = $rs['Record']; $this->cache->set($ckey, $getData); unset($rs); return $getData; } return $rs; } else { $rs = $this->socket->senddata($type, $data); $getData = array(); $getData = $rs['Record']; unset($rs); return $getData; } } function getMemberBlogByMemberID($data) { if (empty($data['QryData'])) return false; $type = 'B050'; $data['OrderBy'] = isset($data['OrderBy']) ? $data['OrderBy'] : 0; //$data['Type'] = 4; //根据博客ID $data['StartNo'] = 0; $data['QryCount'] = 100; $data['Function'] = 'getMemberBlogByMemberID'; if (ISCACHE) { $ckey = 'Memberblog_getMemberBlogbyDomainName_{QryData}_{Type}'; $ckey = str_replace('{QryData}', $data['QryData'], $ckey); $ckey = str_replace('{Type}', $data['Type'], $ckey); $rs = $this->cache->get($ckey); if (!$rs) { $rs = $this->socket->senddata($type, $data); if ($rs["Status"]["RetRecords"] == 1) { $getData = $rs["Records"]["Record"]; $this->cache->set($ckey, $getData); unset($rs); return $getData; } else if ($rs["Status"]["RetRecords"] > 1) { foreach ($rs["Records"]["Record"] as $key => $val) { if (intval($val["IsPrimary"]) == 1) { $getData = $rs["Records"]["Record"][$key]; $this->cache->set($ckey, $getData); unset($rs); return $getData; } }}else { return false; } } return $rs; } else { $rs = $this->socket->senddata($type, $data); if ($rs["Status"]["RetRecords"] > 0) { $getData = $rs["Records"]["Record"]; unset($rs); return $getData; } else { return false; } } } /* --|获取个人博客统计信息 */ function getMemberBlogStat($data) { if (empty($data['MemberIDs'])) return false; $type = 'B060'; //$data['Type'] = isset($data['Type'])? $data['Type']:0; $data['Type'] = 0; //博客于商城分离,所有固定只查博客统计 $data['StartNo'] = isset($data['StartNo']) ? $data['StartNo'] : 0; $data['QryCount'] = isset($data['QryCount']) ? $data['QryCount'] : 1; if (ISCACHE) { $ckey = "Memberblog_getMemberBlogStat_{MemberID}"; $ckey = str_replace('{MemberID}', $data['MemberIDs'], $ckey); $rs = $this->cache->get($ckey); if (!$rs) { $rs = $this->socket->senddata($type, $data); if ($rs["Status"]["RetRecords"] > 0) { $rs["Records"]["Record"]["RetRecords"] = $rs["Status"]["RetRecords"]; $this->cache->set($ckey, $rs["Records"]['Record']); return $rs["Records"]["Record"]; } else { $rt["RetRecords"] = 0; return $rt; } } return $rs; } else { $rs = $this->socket->senddata($type, $data); if ($rs["Status"]["RetRecords"] > 0) { $rs["Records"]["Record"]["RetRecords"] = $rs["Status"]["RetRecords"]; return $rs["Records"]["Record"]; } else { $rt["RetRecords"] = 0; return $rs; } } } /** * 获取博客访问次数 * 区别于getMemberBlogStat函数的是, 该函数使用缓存数据,原因是点击量蛋疼的设计,会先写入缓存, 缓存定时写入数据库,所以前端读取博客统计的时候,不能每次都从数据库读,不然数据不同步 */ function getMemberBlogStatByCache($param) { $ckey = 'stat_click_{MemberID}'; $ckey = str_replace('{MemberID}', $param['MemberIDs'], $ckey); $result = $this->cache->get($ckey); return $result; } /* --|获取博客配置信息 */ function getBlogConfig($data) { $type = 'B100'; if (ISCACHE) { $ckey = 'Memberblog_getBlogConfig_{MemberID}'; $ckey = str_replace('{MemberID}', $data['MemberID'], $ckey); $rs = $this->cache->get($ckey); if (!$rs) { $rs = $this->socket->senddata($type, $data); if ($rs["Status"]["Code"] == "00" && $rs["Status"]["RetRecords"] > 0) { $this->cache->set($ckey, $rs); return $rs; } else { return false; } } return $rs; } else { $rs = $this->socket->senddata($type, $data); if ($rs["Status"]["Code"] == "00" && $rs["Status"]["RetRecords"] > 0) { $this->cache->set($ckey, $rs); return $rs; } else { return false; } } } } //end class ?>