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##

<?php namespace App\Http\Controllers;

use Illuminate\Http\Request;
use App\User as User;
use Illuminate\Support\Facades\Redis as Redis;

class UserController extends Controller {

    // use User;

    private $model;
    /**
     * Create a new controller instance.
     *
     * @return void
     */
    public function __construct()
    {
        $this->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');
        }
    }
}
    
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 1 Redis介绍1.1 什么是NoSql为了解决高并发、高可扩展、高可用、大数据存储问题而产生的数据库解决方...
    克鲁德李阅读 5,382评论 0 36
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 135,067评论 19 139
  • (centos7+nginx1.9+mysql5.6+php7) 1.准备工作: 1)把所有的软件安装在/data...
    Tshare_XUN阅读 626评论 0 0
  • 我的愿望,当个网吧和老板娘哈哈哈哈哈୧(﹒︠ᴗ﹒︡)୨
    享受这般折磨阅读 205评论 0 0
  • 今年拜年的传统已经完成了,家族聚会中的一些话让我压力山大,真不想是这样的情景啊,告知老妈的喜讯一定要减半减半在减半...
    假装没想到阅读 213评论 0 0