最近一麦​​短网址​​的云盾接口查询速度有点慢,思考该如何进行优化提速。因为一麦短网址是放在SAE上的,而且SAE里面有Memcache,准备使用这个先大幅度改善数据库的鸭梨~

    下面来分享下如何在SAE环境下使用memcache的方法:

在自己的SAE项目里面,激活Memcache功能

  1. 进入你的新浪云平台,选择要设置的应用,进入管理页面
  2. 选择服务管理下的Memcache这个链接,点击一下
  3. 进入Memcache这个页面,选择“点此初始化MC”这个按钮,更具自己网站的需求设置缓存的容量,当你输入的时候会提示你该设置下要消耗多少云豆,建议大家认真设置,如果设置不合理,导致云豆的巨大浪费,或者没有发挥到Memcache的真正作用。

具体使用代码如下:

<?php
//连接
$mem = memcache_init();

//保存数据
$mem->set('key1', 'This is first value', 0, 60);
$val = $mem->get('key1');
echo "Get key1 value: " . $val ."<br />";

//替换数据
$mem->replace('key1', 'This is replace value', 0, 60);
$val = $mem->get('key1');
echo "Get key1 value: " . $val . "<br />";

//保存数组
$arr = array('aaa', 'bbb', 'ccc', 'ddd');
$mem->set('key2', $arr, 0, 60);
$val2 = $mem->get('key2');
echo "Get key2 value: ";
print_r($val2);
echo "<br />";

//删除数据
$mem->delete('key1');
$val = $mem->get('key1');
echo "Get key1 value: " . $val . "<br />";

//清除所有数据
$mem->flush();
$val2 = $mem->get('key2');
echo "Get key2 value: ";
print_r($val2);
echo "<br />";

//关闭连接
$mem->close();
?>$mem->set('key1', 'This is first value', 0, 60);

第一个参数是数据的key,用来定位一个数据,

第二个参数是需要保存的数据内容,这里是一个字符串,

第三个参数是一个标记,一般设置为0或者 MEMCACHE_COMPRESSED就行了,

第四个参数是数据的有效期,就是说数据在这个时间内是有效的,如果过去这个时间,那么会被 Memcache服务器端清除掉这个数据,单位是秒,如果设置为0,则是永远有效