您的位置:首页 > 其它

易信公众平台开发从入门到精通之获取凭证利用SAE缓存

2014-06-05 23:00 267 查看


Memcache是SAE为开发者提供的分布式内存缓存服务,用来以共享的方式缓存用户的小数据。可以配置容量,根据你的具体项目大小而定。

Memcache主要的使用场景有以下两个:

需要共享某些key-value
形式的小数据时。(因为SAE的Web服务是分布式环境,所以使用全局变量方式等方式是不行的)。

缓存MySQL等后端存储的数据。快速进行数据响应,减轻后端存储的压力。
首次使用,需要初始化Memcache。

Memcache服务目前提供以下接口:
memcache_init -
初始化MC链接
memcache_get -
获取MC数据
memcache_set -
存入MC数据

YiXinCore.clss.php类库中
public function getMemcacheAccessToken()

 {

  $mc=memcache_init();

  $ak=memcache_get($mc,"token");

  if (empty($ak))

  {

   $arr = $this->getAccessToken();

   if($arr['errcode'])

   {

    Log::wLog('INFO','获取access_token失败,错误码:'.$arr['errcode']);

    return 0;

   }

   else

   {

    $arr['access_time'] = time();

    Log::wLog('INFO','获取access_token成功。');

    memcache_set($mc,"token",$arr['access_token'],86400);

    

    return memcache_get($mc,"token");

   }

  }

  else

  {

   return $ak;

  }

 }

public function getAccessToken()

 {

  $url = 'https://api.yixin.im/cgi-bin/token?grant_type=client_credential';

  $url .= '&appid='.APPID.'&secret='.APPSECRET;

  $re = file_get_contents($url,false);

  $arr = json_decode($re,true);

  if($arr['errcode'])

  {

   Log::wLog('INFO','获取access_token失败,错误码:'.$arr['errcode']);

   return 0;

  }

  else

  {

   $arr['access_time'] = time();

   Log::wLog('INFO','获取access_token成功。');

   return $arr;

  }

 }

获取accessToken,代码调用:

$ak=new YiXinCore();

echo $ak->getMemcacheAccessToken();
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐