Laravel结合Redis

直连DB是不够的,很快数据库访问就会成为系统的瓶颈。我们引入缓存Redis。还是一样的思路,先让系统跑起来。

一、安装启动Redis##

  1. 安装
$ wget http://download.redis.io/releases/redis-3.0.1.tar.gz
$ tar xzf redis-3.0.1.tar.gz
$ cd redis-3.0.1
$ make
  1. 启动
$ src/redis-server

查看官方下载和安装文档,只需要几个命令即可

二、安装PHP PRedis##

PRedis是PHP访问redis的扩展包,只需要下载原码即可,不需要安装PHP扩展(如php-redis.so)。但在这之前要介绍一个composer,因为laravel通过它来安装第三方程序包(管理依赖关系)。

  1. cd 到你的App所在路径,修改composer.json,在require字段里,添加"predis/predis":"~1.0.1",然后当前目录下 sudo composer update,此时就会自动下载包需要的扩展包,这些扩展包将会被放在vendor目录下。

如果出现内存不够这些报错,现在看来是内存分配不够的原因,重启一下服务器即可,彻底解决的办法要修改服务器配置,但我不清楚改哪里,后续再补

  1. 配置相关配置,查看官方文档即可。主要是配置config/database.php
'redis' => array(
    'cluster' => false,
    'default' => array('host' => '127.0.0.1', 'port' => 6379)
)

三、coding##

model = new User();
    }
    
    /**
     * Show 
     *
     * @return Response
     */
    public function showUser($id)
    {
        $redis = Redis::connection('default');
        $cacheUsers = $redis->get('userList');

        if( $cacheUsers ){
            $users = $cacheUsers;
            print_r($users);
            Log::info('获取用户列表,通过redis');
        }else{
            $users = $this->model->fetchAll();
            $redis->set('userList', $users);
            print_r($users);
            Log::info('获取用户列表,通过msyql');
        }
    }
}
    

你可能感兴趣的:(Laravel结合Redis)