Example #1
0
/**
 * 如果没有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;
}
Example #2
0
        # 按照原始的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']);