东林博客

CakePHP3中使用Redis缓存提示配置失败

在CakePHP3中,可以使用Redis缓存,不仅比默认的File缓存速度快,而且更容易实现多个项目共享数据。且Redis支持持久化,真的是一个不错的功能。但在CakePHP3中配置Redis,有一个小坑,如果不留意,很容易在这上面浪费时间。那就是Redis配置问题。我在项目中配置了几次Redis,很少一次成功过。经过大量的失败案例,总结常见错误如下:

一、服务器没有安装Redis

虽然这个错误很弱智,但我就是经常犯这个错误。有时候机器太多,就忘了再确认一下是否安装。导致浪费大量时间。另外远程访问还需要注意防火墙问题。在服务器中安装即可:

sudo apt-get install redis-server

二、开发环境没有安装 PHP5 - Redis.dll

有时候,Redis服务器配置正确,就忘了本机还需要在PHP5中启用redis。连接不上,便想着是服务器没配置好。安装与本机环境对应的PHP-REDIS.dll 。我平时开发用的是WAMP。有时用的是Ubuntu虚拟机,用netbeans同步。

这个问题说简单也简单,说难也难。难就难在windows环境下安装php-redis。找到适合本机环境的redis.dll 实在不容易。安装也有些窍门。我之前专门写过一个针对64位-wamp开发环境的redis 安装教程及相关下载。我成功配置了很多次了。值得信赖。

三、在CakePHP 中配置错误

'default' => [
            'className'=>'Redis',
            'duration' =>'+ 2 days',
            'server'=>REDIS_SERVER,
            'prefix' => 'default_',
        ],

注意上面的default数组里面的duration键值,如果采用CakePHP3中默认的File配置中的写法:“ +2 days" 这种,是会报错的。不知道这算不算CakePHP的一个BUG。需要改为INT类型。才能正常使用。

{{tip}}