zoukankan      html  css  js  c++  java
  • 对接memcache经验分享

    接口访问日志  数据结构 分享

    apiname 接口名称

    apiname[cnt]接口访问次数每访问一次增加一次 这里要处理并发问题 我还没有解决;

    apiname[cnt][n][spent_time] 代表第几次访问  消耗的时长

    apinames 这是一个数组 记录所有的的apiname 我用的serialize把数组变成字符串

    接下来做一个做一个存储的展示

            apinames = unserialize($apinames);
            $arr = array();
            foreach($apinames as $k=>$v){
              $key=$v;
              $arr[$key]=$memcache->get($v.'[cnt]');
            }

            if($apiname){
               $cnt = $memcache->get($apiname.'[cnt]');
               $r = array();
               for($i=1;$i<=$cnt;$i++){
                 $r[$i]['apiname']=$apiname;
                 $r[$i]['id']=$i;
                 $spent_key = $apiname.'[cnt]'."[".$i."]"."[spent_time]";
                 $add_key = $apiname.'[cnt]'."[".$i."]"."[add_time]";
                 $r[$i]['spent_time']=$memcache->get($spent_key);
                 $r[$i]['addtime']= date('Y-m-d H:i:s', $memcache->get($add_key));
               }

    仅供参考

    接下来是session存储到memcache  我们用的是阿里云的memcache服务 php是安装的扩展是memcached

    这块遇到了点问题 研究了两天终于研究通  一开始是修改php.ini 没有效果  后来发现配置文件有一个优先级 php-fpm.d 下面还有一个配置文件 或者是php-fpm.conf 这两个配置文件的优先级都大于php.ini 所以要先配置后者在重启nginx 和php-fpm

    这块解决后又遇到问题  是memcache 存不上 后来发现 是memcached扩展的原因  如果本地安装的是memcahched 在修改session存储路径时要在hander那里写memcached 切记不要写memcahe 在就是路径  路径不要加tcp  直接写服务地址 和端口号就好

  • 相关阅读:
    SSH免密码登录
    Qt编译错误GL/gl.h: No such file or directory
    UVA 11645
    《逆袭大学》文摘——9.4 基础和应用的平衡中找到大学的节奏
    EBS採购模块中的高速接收和高速接收事务
    笔记-Android中打开各种格式的文件(apk、word、excel、ppt、pdf、音视频、图片等)
    git 冲突解决的方法
    SICP 习题 (1.43)解题总结
    Swift百万线程攻破单例(Singleton)模式
    setjmp/longjmp
  • 原文地址:https://www.cnblogs.com/zhaoxueru/p/6961830.html
Copyright © 2011-2022 走看看