Onex ecstore使用阿里云数据库Redis版

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

点我跳转Ecstore使用阿里云数据库Memcache版教程

Onex ecstore使用阿里云数据库Redis版-搬砖酱的笔记

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

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


// redis配置
define('KVSTORE_STORAGE', 'base_kvstore_redis');
define('KVSTORE_REDIS_CONFIG', 'demo.acgcss.com:6379');
define('REDIS_PASSWORD','123456789');

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


public function connect() 
    {
        if(!isset(self::$_cacheObj))
        {
            if(defined('KVSTORE_REDIS_CONFIG') && constant('KVSTORE_REDIS_CONFIG'))
            {
                self::$_cacheObj = new Redis();
                $config = explode(':', KVSTORE_REDIS_CONFIG);
                self::$_cacheObj->connect($config[0], $config[1]);
                //启用带用户验证的阿里云redis
                if(defined('REDIS_PASSWD') && constant('REDIS_PASSWD')){
                    self::$_cacheObj->auth(REDIS_PASSWD);
                }
            } else {
                trigger_error('Can\'t load KVSTORE_REDIS_CONFIG, please check it', E_USER_ERROR);
            }
        }
    }//End Function

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