Prevent repeated statistics for event statistics.
Function track (eventName, params ){
Var img = new Image ();
If (typeof params = 'object '){
Params = JSON. stringify (params );
} Else {
Params = '';
}
Var t = new Date (). valueOf ();
Var random = Math. random ();
Var referrer = document. referrer;
Img. src = '/track? Event = '+ encodeURIComponent (eventName) +' & params = '+ encodeURIComponent (params) + '& t =' + t + '& r =' + random + '& referrer =' + referrer;
}
The backend uses the R value tvalue and an ip value as a unique index. In order to achieve accurate data arrival, the program has few operations, which will reduce operation events, hand over the logic to the database for operation, and increase the data arrival rate.
Let insertEventSql = 'replace INTO $ {config. mysql. prefix} xxxx. event_log
($ {Keys. join (',')})
VALUES
($ {Values. join (',')})';