IT博客汇
  • 首页
  • 精华
  • 技术
  • 设计
  • 资讯
  • 扯淡
  • 权利声明
  • 登录 注册

    Ecstore使用阿里云数据库Memcache版

    tiandi发表于 2016-03-10 12:56:31
    love 0

    阿里云最近更新得很勤快,各种服务都开始逐渐浮出水面,其中就有云数据库Mecache和Redis,外带可视化界面管理,这对于维护监测来说,可是个好东西,本文介绍一下如何让ecstore支持阿里云的Memcache。

    阿里云上购买好memcache十分方便快捷,付钱即可,瞬间开通,购买的时候记得如果要用内网功能的话,需要买同一区域的,不同区域的内网是连接不上的。买完后得到以下信息。
    截图00

    打开config.php文件,找到cache memcache配置项,根据上图截图填入对应内容,大致如下:

    // cache memcache 服务器配置
    define('CACHE_MEMCACHE_CONFIG', 'test.m.aliyun.com:11211');
    define('MEMCACHE_USER','user');
    define('MEMCACHE_PASSWORD','');
    define('CACHE_STORAGE', 'base_cache_memcached');
    

    到这里配置文件修改完毕,由于ecstore默认的memcached加载是不带密码访问的,所以这里稍微需要调整一下代码,找到/base/lib/cache/memcached.php文件,修改下面信息:

    public function connect() 
        {
            ...
            if(strpos($row, 'unix://') === 0){
                   //self::$_cacheObj->addServer($row, 0);  todo:memcached不支持unix://
            }else{
                   $tmp = explode(':', $row);
                   self::$_cacheObj->addServer($tmp[0], $tmp[1]);
                   //启用带用户验证的阿里云memcache
                   if(defined('MEMCACHE_USER') && defined('MEMCACHE_PASSWORD')){
    	             //by tiandi 使用sasl时需要先启用binary_protocal
    		     self::$_cacheObj->setOption(Memcached::OPT_BINARY_PROTOCOL, true);
                         self::$_cacheObj->setSaslAuthData(MEMCACHE_USER, MEMCACHE_PASSWORD);
            }
            ...
    }
    

    好了,就只需要改动这两个地方,如无意外,已经可以开始使用阿里云Memcache服务了。相比在本地环境下搭建Memcached服务,共同耗用系统资源来说,这种分割还是可以减轻服务器一定的压力的。一般起步阶段,还没有人会为了Memcached单独建一个本地服务器的吧。

    文章评分1次,平均分5.0:★★★★★


沪ICP备19023445号-2号
友情链接