91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

PHP中Laravel框架如何結合MySQL與Redis數據庫使用

發布時間:2021-08-31 11:36:11 來源:億速云 閱讀:256 作者:小新 欄目:開發技術

這篇文章主要為大家展示了“PHP中Laravel框架如何結合MySQLRedis數據庫使用”,內容簡而易懂,條理清晰,希望能夠幫助大家解決疑惑,下面讓小編帶領大家一起研究并學習一下“PHP中Laravel框架如何結合MySQL與Redis數據庫使用”這篇文章吧。

零、環境介紹

  • 操作系統:centOS

  • 數據庫: mysql 5.6 (阿里云RDS)

  • PHP 5.4.4 (>=5.4即可)

  • Laravel 5.0

一、安裝LNMP
在安裝Laravel之前,需要把Linux + Nginx + Mysql + Php的環境搭建好。具體的搭建步驟這里就不再詳述了。
P.S.

  • Linux阿里云已經自帶了,本文使用的是centOS 6.5 64位的ECS

  • 關于Nginx和Apache的選擇看自己喜好,本文使用的是反向代理能手Nginx

  • 是否安裝Mysql也要看自己的情況,例如你使用阿里云的RDS,那就沒必要安裝了

二、安裝Composer
composer是用來管理PHP包依賴的工具,Laravel正使用此工具進來依賴管理。有兩種安裝方式

局部安裝
全局安裝,即在系統任意目錄下可使用。本文只介紹此種安裝方法。官方安裝文檔

分別執行以下兩條命令

curl -sS https://getcomposer.org/installer | php
mv composer.phar /usr/local/bin/composer

安裝完成,使用以下命令看是否安裝成功

composer -V

出現版本號,即說明安裝成功

三、安裝Laravel
按照Laravel的官方文檔說明即可,建議使用【通過Laravel安裝工具】,沒什么坑,這里略過
提示:由于Laravel還依賴于一些的PHP擴展,所以使用yum安裝

sudo install yum php-mysql php-mcrypt php-mbstring php-tokenizer php-openssl

安裝完成后,在Nginx的配置文件(一般是/etc/nginx/conf.d/default.conf)最下方添加如下配置

location / {
  try_files $uri $uri/ /index.php?$query_string;
}

來到你的laravel工程目錄下,看到storage和vendor文件夾,使用以下命令修改其文件讀寫權限,讓Nginx用戶能讀寫它

sudo chmod -R 766 storage
sudo chmod -R 766 vendor

四、讓MVC跑起來!
在此之前,你應該讀一下官方文檔 路由、控制器、數據庫使用基礎、Eloquent ORM
至此,可以開始coding,開發一個 MVC的demo了,此demo的功能是將數據庫表tbl_item從數據庫里讀出來,并以json格式響應給瀏覽器。
假設你已經通過laravel new demo來初始化你的web app。

  • 數據庫里建庫(demo)、建表(tbl_item),(字段隨意定)

  • 配置配置文件 config/database.php

  • 直接操作數據庫,往tbl_item里插入一條數據

  • 開始coding

demo/app/http/routes.php底部添加如下代碼:

Route::get('/item/{id}', 'ItemController@showItem');

demo/app/http/controllers/ 目錄新添文件 ItemController.php,代碼如下:

<?php namespace App\Http\Controllers;

use Illuminate\Http\Request;
use App\Item as Item;

class ItemController extends Controller {

  private $model;

  public function __construct()
  {
    $this->model = new Item();
  }

  public function showItem($id)
  {
    $users = $this->model->fetchAll();
    echo json_encode($users);
    Log::info('獲取用戶列表,通過msyql');
  }
}

demo/app/目錄下新增文件 Item.php 代碼如下

<?php namespace App;

use Illuminate\Database\Eloquent\Model;

class Item extends Model {

  protected $fillable = ['name', 'price'];
  protected $guarded = ['id'];

  /**
   * The database table used by the model.
   * default: tbl_items
   * @var string
   */
  // protected $table = 'tbl_items';

  public function fetchAll(){
    $items = $this->all()->toJson();
    return $items;
  }
}

使用瀏覽器訪問http://yourIp/item/1,即可列出所有的item數據

五、Laravel結合Redis
直連DB是不夠的,很快數據庫訪問就會成為系統的瓶頸。我們引入緩存Redis。還是一樣的思路,先讓系統跑起來。
1、安裝啟動Redis

安裝

$ 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

啟動

$ src/redis-server

查看官方下載和安裝文檔,只需要幾個命令即可


2、安裝PHP PRedis
PRedis是PHP訪問redis的擴展包,只需要下載原碼即可,不需要安裝PHP擴展(如php-redis.so)。但在這之前要介紹一個composer,因為laravel通過它來安裝第三方程序包(管理依賴關系)。

cd 到你的App所在路徑,修改composer.json,在require字段里,添加"predis/predis":"~1.0.1",然后當前目錄下 sudo composer update,此時就會自動下載包需要的擴展包,這些擴展包將會被放在vendor目錄下。如果出現內存不夠這些報錯,現在看來是內存分配不夠的原因,重啟一下服務器即可,徹底解決的辦法要修改服務器配置,但我不清楚改哪里,后續再補

配置相關配置,查看官方文檔即可。主要是配置config/database.php

'redis' => array(
  'cluster' => false,
  'default' => array('host' => '127.0.0.1', 'port' => 6379)
)


3、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');
    }
  }
}

以上是“PHP中Laravel框架如何結合MySQL與Redis數據庫使用”這篇文章的所有內容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內容對大家有所幫助,如果還想學習更多知識,歡迎關注億速云行業資訊頻道!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

宣化县| 宜兰市| 蒙城县| 蓝山县| 亚东县| 融水| 乐至县| 隆德县| 称多县| 镇宁| 娄底市| 江阴市| 句容市| 兰西县| 玉溪市| 周口市| 昔阳县| 西华县| 万全县| 贞丰县| 句容市| 合江县| 广西| 木兰县| 衡东县| 女性| 南京市| 潢川县| 苍溪县| 大竹县| 那曲县| 宜良县| 普兰县| 江安县| 仙桃市| 宁陵县| 景德镇市| 新密市| 西峡县| 三门县| 班玛县|