pref_log.php 1.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647
  1. <?php
  2. require_once("../config.php");
  3. require_once("../redis/function.php");
  4. $logstart = microtime(true)*1000;
  5. $iTime = time();
  6. $strstart = date("h:i:sa");
  7. function PrefLog(){
  8. $delay = microtime(true)*1000-$GLOBALS['logstart'];
  9. $redis = redis_connect();
  10. $timeMinute = intval(time()/60);
  11. $timeSecond = time();
  12. if($redis){
  13. $key= "pref/";
  14. $keyAll = $key."all/".$timeMinute;
  15. UpdateCache($redis,$keyAll,$delay);
  16. $keyApi = $key.$_SERVER['PHP_SELF']."/".$timeMinute;
  17. UpdateCache($redis,$keyApi,$delay);
  18. $key= "pref-s/";
  19. $keyAll = $key."all/".$timeSecond;
  20. UpdateCache($redis,$keyAll,$delay,30);
  21. $keyApi = $key.$_SERVER['PHP_SELF']."/".$timeSecond;
  22. UpdateCache($redis,$keyApi,$delay,30);
  23. }
  24. $file = fopen(_DIR_LOG_."/pref_".date("Y-m-d").".log","a");
  25. if($file){
  26. fputcsv($file,[$_SERVER['PHP_SELF'],$GLOBALS['strstart'],sprintf("%d",microtime(true)*1000-$GLOBALS['logstart']),$_SERVER['REMOTE_ADDR']]);
  27. fclose($file);
  28. }
  29. }
  30. function UpdateCache($redis,$key,$delay,$expire=3600){
  31. if($redis->exists($key)){
  32. $redis->hSet($key,"count",$redis->hGet($key,"count")+1);
  33. $redis->hSet($key,"delay",$redis->hGet($key,"delay")+$delay);
  34. }else{
  35. #没有,创建
  36. $redis->hSet($key,"count",1);
  37. $redis->hSet($key,"delay",$delay);
  38. $redis->expire($key,$expire);
  39. }
  40. }
  41. ?>