最近觉得redis很火,就来搞一下。
首先呢,我们需要下载一个和自己电脑系统匹配的redis版本,现在最新的是2.8几,(我用的是64位win,所以下面是针对win系统的,其他的系统暂且没试过)
redis包在网上一大堆,在这里给一个网址(http://www.newasp.net/soft/67186.html#downloads)
然后需要再电脑上面建一个文件夹,将redis包解压到这个文件夹中,再然后以管理员身份运行dos命令行,进入到该文件夹,运行redis-server.exe,出现这个,就代表reids安装完成,否则有以下几个可能
1),redis和系统位数不符
2),查看是否运行错文件了
3),权限不行,尝试以管理员身份运行dos
这样redis就安装完成啦,接下来是在php里面配置redis.
首先我们要先下一个php_redis.dll这个配置文件,然后放在ext里面,然后重启wamp,然后你会在wamp里面php下面的php extensions里面看见php_redis.dll前面吧有一个 挑,然后我们配置完成了,可以测试一下,建立一个php文件,在里面写
<?php //连接本地的 Redis 服务 $redis = new Redis(); $redis->connect('127.0.0.1', 6379); echo "Connection to server sucessfully"; //查看服务是否运行 echo "Server is running: " . $redis->ping(); ?>如果你们安装成功了,会输出:
Connection to server sucessfully Server is running: PONG
最后我们来配置cakePHP里面的redis
其实很简单,我们在cakePHP的配置文件app.php里面的Cache下面将原先的东西注释掉(前提是你们没有对cakePHP原本的文件修改过),加上
'default'=>[
'className'=>'Redis',
'duration' =>'600',
'server'=>'localhost',
'prefix' => 'default_',
'engine' => 'Redis',
'port' => 6379,
'password' => false,
'timeout' => 0,
'persistent' => true
],
需要注意的是,上面的的duration键名(控制redis缓存的生存时间)对应的键值不能使用Cache默认的格式写,需要换成int形式(网上都说这可能是cakep3的一个bug),一般600呢 ,后面的单位cakePHP都是默认为 秒 的(s),配置完成,接下来我们来测试一下,
随便找一个项目,新建一个方法,use Cake\Cache\Cache;(引入缓存),$redis = Cache::write('title');(写入redis),$tee = Cache::read('title');(读缓存)Cache::delete('title');(删除缓存),还有很多操作,在这里就不一 一演示了,(后期会考虑整理一个cakePHP3,操作redis方法大全),还有,在写入缓存的时候是什么样的数据格式,读出的时候格式不变。