/** * 如果没有ip_ck或者redis中无记录,则调用补救规则,补救规则使用mongo缓存 */ function get_uv_data_from_mongo() { global $randNum, $needNum; $mDataArr = $data = array(); #缓存key $cacheKey = 'Guess_you_like:get_data_by_hot_v3'; $mDataArr = ZOL_Api::run("Kv.MongoCenter.get", array('module' => 'cms', 'key' => $cacheKey)); if (!$mDataArr) { $data = get_data_by_hot_v3($randNum, $needNum, array(), true); #写入缓存 ZOL_Api::run("Kv.MongoCenter.set", array('module' => 'cms', 'key' => $cacheKey, 'data' => $data, 'life' => 86400)); } else { $data = $mDataArr; } shuffle($data); return $data; }
# 按照原始的id顺序 排回 $fResult_1 = array(); foreach ($resDocArr as $key => $value) { $fResult_1[$value] = $fResult[$value]; } $fResult = $fResult_1; #var_dump($resDocArr);exit('208'); } #var_dump($fResult);exit('210_1'); } elseif ($ip_key) { # 没有查询到redis中的doc_id数据 通过B计划或C计划获取36条数据 $fResult = get_data_by_hot_v3($randNum, $dataNum, array(), true); //exit('205_1'); } else { # 如果连ip_ck都不存在,使用C计划获取数据 $fResult = get_data_by_hot_v3($randNum, $dataNum, array(), true); //exit('210_1'); } $likeData = result_recombination($fResult); #var_dump($likeData);exit('#224-1#'); # 获取文章的其他信息 if ($otherInfo && $otherInfo == 6) { $newRes = array(); foreach ($likeData as $key => $value) { # 获取文章的pv和评论数 $likeData[$key]['replyNum'] = ZOL_Api::run("Article.Comment.getCount", array('docId' => $value['docId'])); $dataArr = ZOL_Api::run("Article.Function.getHitsAndScore", array('docId' => $value['docId'], 'rtnCols' => 'hits')); $likeData[$key]['hits'] = (int) $dataArr['hits']; # 获取文章的简介 $dataArr = ZOL_Api::run("Article.Doc.getDocContent", array('docId' => $value['docId'], 'len' => 40, 'getDetailFlag' => 1, 'rtnCols' => 'content')); $dataArr['content'] = iconv('GB2312', 'UTF-8', $dataArr['content']);