一个log文件大概是10m,其中的一行如下:
10.114.161.142:745709654:1310653740.022:api:0.045858144760132|{"sig":"badfc16efdf1de2ed305db9f3cca5dbb","ver":"1.1.1","data":"[[\"745709654\"],[[\"quest.update\",\"2009640025\",\"{\\\"1\\\":{\\\"note\\\":\\\"3188\\\",\\\"cur\\\":175,\\\"step\\\":0},\\\"time\\\":1310652801078,\\\"create_time\\\":1310652793984}\",1],[\"npc.update\",\"6DE3A131-7E9F-57FA-1BDA-25482E4E3B11\",69.05471206269596,74.94528793727699,12,\"-1\"],[\"npc.update\",\"C9EEF08E-D831-6374-9FE5-28602D39F380\",73.5973844971509,70.50000000000063,12,\"-1\"],[\"quest.update\",\"9900356386\",\"{\\\"1\\\":{\\\"note\\\":\\\"63\\\",\\\"cur\\\":7,\\\"step\\\":0},\\\"time\\\":1310642454546,\\\"create_time\\\":1310642437703}\",1]]]","sid":"73c7:709:9d8c409206f:745:2f12::redis_2:425f:654"}依次解释为:IP地址,uid,时间戳,api执行时间 | json_encode之后的方法数据,里面包含(api方法的名称,可以包含多个方法),现在要对每天的log做分析,
需求: 统计方法调用次数和时间(总)
      统计每个人方法调用次数及时间(每个人uid)我想到的思路是数据写入数据库中,然后通过sql查询统计,但是manager否决这个方法然后我想用php数组来处理,split成数据然后分析,想请教具体的思路,谢谢!

解决方案 »

  1.   

    应该是每次cilent调用请求的时候server做的记录
      

  2.   

    manager否决这个方法的原因???如果统计只要一次,就可以直接读文件计算结果,但如果需要多次反复统计,最好还是保存中间结果的,
    如果manager否决,他是否有什么建议?
    考虑到什么因素而不用数据库? 还是仅仅指不用生产环境数据库(这个纯后台应用,可以不用生产环境数据库)? 
    还是让你用文件或文件型数据库?