欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  后端开发

关于对接memcache的实例教程

程序员文章站 2022-04-01 15:06:41
...
接口访问日志 数据结构 分享

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 直接写服务地址 和端口号就好

以上就是关于对接memcache的实例教程的详细内容,更多请关注其它相关文章!