function getCampaignConversion($campaignID, $conversionID = '', $renewCache = false) { $redis = new RedisBaseModel(env('REDIS_HOST', '127.0.0.1'), env('REDIS_PORT_2', '6379'), false); $cacheKey = "CampConv_{$campaignID}"; if (!empty($cacheField)) { $cacheField = $campaignID; $retval = $redis->hMget($cacheKey, array($cacheField)); } else { $retval = $redis->hGetAll($cacheKey); } if (Input::get('cleared') || $renewCache) { $redis->hDel($cacheKey, $cacheField); $retval = 0; } if (!$retval) { $retval = DB::table('campaign')->join('conversion', 'conversion.campaign_id', '=', 'campaign.id')->where('campaign.id', $campaignID)->where('conversion.status', 1)->select('conversion.id', 'conversion.campaign_id')->first(); if (!empty($retval)) { foreach ($retval as $conversion) { if (!empty($conversion) && !empty($conversion->id)) { $cacheField = $conversion->id; $redis->hSet($cacheKey, $cachField, $conversion->id); } } } } return $retval; }
/** * * Get country, region * @param $ip */ public static function getGeoByIp($ip) { $redis = new RedisBaseModel(env('REDIS_HOST', '127.0.0.1'), env('REDIS_PORT_1', '6379'), false); $long_ip = sprintf("%u", ip2long($ip)); $cacheKey = "geo_" . $long_ip; return $redis->get($cacheKey); }
public function getUrlTrack3rd($data) { if (isset($data['ec'])) { if ($data['ec'] == 0) { return array(); } } $referer = isset($_SERVER['HTTP_REFERER']) ? $_SERVER['HTTP_REFERER'] : ''; $domain = getWebDomain($referer); $urls = array(); $redis = new RedisBaseModel(env('REDIS_HOST', '127.0.0.1'), env('REDIS_PORT_3', '6379'), false); $cacheKey = "URLTrack3rd"; if ($redis->exist($cacheKey)) { $retval = $redis->get($cacheKey); } else { $retval = DB::table('url_track_3rd')->select('id', 'url', 'website', 'amount', 'run')->where('active', 1)->where('amount', '>', 0)->get(); $redis->set($cacheKey, $retval); } if (!empty($retval)) { foreach ($retval as $value) { $bCheckWeb = false; if ($value->website) { $website = explode("\n", $value->website); foreach ($website as $v) { if (strpos($v, $domain) !== false) { $bCheckWeb = true; break; } } } else { $bCheckWeb = true; } if (!$bCheckWeb) { continue; } $cacheKeyTotal = 'URLTrack3rd.' . $value->id; $cacheKeyTotalDay = $cacheKeyTotal . '.' . date('Ymd'); $cacheKeyTotalGet = $value->run == 'day' ? $cacheKeyTotalDay : $cacheKeyTotal; $total = $redis->get($cacheKeyTotalGet); if ($total < $value->amount) { $bCheckTotal = true; } else { $bCheckTotal = false; } if ($bCheckTotal) { $urls[] = $value->url; $redis->increment($cacheKeyTotal); $redis->increment($cacheKeyTotalDay); } } } pr($urls); return $urls; }
public function setTimeFreCap($flight, $expire) { $redis = new RedisBaseModel(env('REDIS_HOST', '127.0.0.1'), env('REDIS_PORT_2', '6379'), false); $visitorId = $this->getVisitorId(); $cacheKey = "Tracking:FrequencyCap_{$flight->id}_{$visitorId}_{$flight->event}"; $redis->expire($cacheKey, $expire * 60); }
function getVastAdTagUri($adID, $url) { try { $redis = new RedisBaseModel(env('REDIS_HOST', '127.0.0.1'), env('REDIS_PORT_5', '6379'), false); $cacheKey = "VASTAdTagURI_{$adID}"; $xmlVastTag = $redis->get($cacheKey); if (empty($xmlVastTag)) { $xmlVastTag = $this->curlGetContents($url); if (strpos($xmlVastTag, '<MediaFiles>') !== FALSE && strpos($xmlVastTag, '</MediaFiles>') !== FALSE) { $redis->set($cacheKey, $xmlVastTag, 1); } } return $xmlVastTag; } catch (\Exception $e) { pr($e); return FALSE; } }