日本综合一区二区|亚洲中文天堂综合|日韩欧美自拍一区|男女精品天堂一区|欧美自拍第6页亚洲成人精品一区|亚洲黄色天堂一区二区成人|超碰91偷拍第一页|日韩av夜夜嗨中文字幕|久久蜜综合视频官网|精美人妻一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時(shí)間:8:30-17:00
你可能遇到了下面的問題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
Redis繪出訪客的地圖(redis訪客地圖)

圖片

松江網(wǎng)站建設(shè)公司創(chuàng)新互聯(lián),松江網(wǎng)站設(shè)計(jì)制作,有大型網(wǎng)站制作公司豐富經(jīng)驗(yàn)。已為松江上1000家提供企業(yè)網(wǎng)站建設(shè)服務(wù)。企業(yè)網(wǎng)站搭建\外貿(mào)網(wǎng)站建設(shè)要多少錢,請找那個(gè)售后服務(wù)好的松江做網(wǎng)站的公司定做!

Redis作為一種快速的鍵值數(shù)據(jù)庫,在網(wǎng)站中應(yīng)用廣泛,不論是緩存還是統(tǒng)計(jì),都非常好用。本文將介紹如何使用Redis實(shí)現(xiàn)對網(wǎng)站訪客的地圖繪制功能,以及通過PHP代碼實(shí)現(xiàn)此功能。

在服務(wù)器安裝Redis,如果你的服務(wù)器已經(jīng)安裝了,可以跳過此步驟。Redis主要用于存儲訪客的IP地址,因此打開Redis的配置文件,將maxmemory設(shè)置為存儲所需的內(nèi)存數(shù)量(一般設(shè)置為256MB),因?yàn)镮P地址不會變化,所以可以設(shè)置maxmemory-policy為allkeys-lru。

接下來,需要在網(wǎng)頁上添加一段JS代碼,以便獲取訪客的IP地址:

$(function(){

$.get(‘http://ip-api.com/json/?fields=status,message,continent,country,regionName,city,zip,lat,lon,timezone,isp’,function(ipInfo){

if(‘success’ === data.status){

/*setting redis*/

VAR info = {

“continent”: data.continent,

“country”: data.country,

“regionName”: data.regionName,

“city”: data.city,

“zip”: data.zip,

“l(fā)at”: data.lat,

“l(fā)on”: data.lon,

“timezone”: data.timeZone,

“isp”: data.isp

}

//發(fā)送請求給Redis,將訪客IP地址以及對應(yīng)的地理信息寫入Redis

$.post(‘/php/saveGeoInfo.php’,info,function(res){

});

}

});

});

接下來我們就可以寫PHP處理Redis訪客數(shù)據(jù)的代碼了,PHP代碼使用了Predis組件,我們可以通過以下代碼將Redis中的數(shù)據(jù)收集起來:

use Predis\Client;

$client = new Client([

‘scheme’ = ‘tcp’

‘host’ = ”

‘port’ = 6379

]);

//獲取Redis中IP地址和地理位置信息

$geoInfo = $client->hgetall(‘geo_info’);

$data = array();

//循環(huán)處理獲取的數(shù)據(jù),將訪客的位置存入數(shù)組

foreach($geoInfo as $key => $value){

$geoData = json_decode($value);

$data[$geoData->lat][$geoData->lon][] = $geoData;

}

header(‘Content-Type: application/json’);

echo json_encode($data);

//輸出JSON數(shù)據(jù),可以使用百度地圖API將獲取的數(shù)據(jù)繪制成圖片

?>

可以使用百度地圖API來繪制訪客位置圖,網(wǎng)上有很多開源API可以使用,這里我們以百度地圖為例:

$( function () {

// 使用JQuery從服務(wù)器獲取訪客的位置

$.get( ‘/php/geoJson.php’, function ( geojson ) {

//獲取到的JSON數(shù)據(jù),轉(zhuǎn)換成GeoJson格式的數(shù)據(jù):

var geoDataSet = {“type”: “FeatureCollection”,”features”: [] };

$.each( geojson, function ( lat, lon ) {

$.each( lon, function ( key, value ) {

geoDataSet.features.push({

“type”:”Feature”,

“properties”:{“name”:value[0].country+value[0].regionName+value[0].city},

“geometry”:{

“type”:”Point”,

“coordinates”:[value[0].lon,value[0].lat]

}

});

});

});

var map = new BMap.Map(“contner”);

map.centerAndZoom(new BMap.Point(104.067, 30.633), 5);

//創(chuàng)建LBS搜索實(shí)例

var localSearch = new BMap.LocalSearch(map);

//向地圖添加LBS實(shí)例

var lbsLayer = new BMap.GeoJSON(geoDataSet);

lbsLayer.addTo(map);

//添加比例尺控件

var top_left_control = new BMap.ScaleControl({anchor: BMAP_ANCHOR_TOP_LEFT});

var top_left_navigation = new BMap.NavigationControl();

});

});

通過以上代碼,我們就能在網(wǎng)頁上成功的繪出服務(wù)器上的訪客位置地圖圖片。

使用Redis儲存用戶的IP地址,再配合JS和PHP,結(jié)合百度地圖API,就可以很輕易地實(shí)現(xiàn)繪制網(wǎng)站訪客地圖圖片的功能。

香港服務(wù)器選創(chuàng)新互聯(lián),2H2G首月10元開通。
創(chuàng)新互聯(lián)(www.cdcxhl.com)互聯(lián)網(wǎng)服務(wù)提供商,擁有超過10年的服務(wù)器租用、服務(wù)器托管、云服務(wù)器、虛擬主機(jī)、網(wǎng)站系統(tǒng)開發(fā)經(jīng)驗(yàn)。專業(yè)提供云主機(jī)、虛擬主機(jī)、域名注冊、VPS主機(jī)、云服務(wù)器、香港云服務(wù)器、免備案服務(wù)器等。


本文標(biāo)題:Redis繪出訪客的地圖(redis訪客地圖)
文章轉(zhuǎn)載:http://www.dlmjj.cn/article/cdcehdc.html