Redis
 sql >> Cơ Sở Dữ Liệu >  >> NoSQL >> Redis

Cách thiết lập Yii2 với cấu hình Redis

Trong bài viết trước của tôi về Yii2, tôi đã thảo luận về cách cài đặt và sử dụngasticsearch với Yii. Trong một bài viết khác, tôi đã trình bày các khả năng của Yii2 framework thông qua một ứng dụng đơn giản. Hôm nay tôi sẽ trình bày cách sử dụng Redis làm bộ nhớ đệm và xử lý phiên cho Yii2. Trong các bài viết trước của tôi về Redis, tôi đã thảo luận về việc sử dụng Redis làm bộ nhớ đệm với các trang PHP tùy chỉnh và Redis để quản lý phiên PHP.

Để cài đặt Redis trên Cloudways, hãy xem qua bài viết của tôi được liên kết ở trên.

Bước 1:Cài đặt Tiện ích mở rộng Redis của Yii 2

Mở composer.json của bạn tệp và thêm dòng sau vào phần yêu cầu :

"yiisoft/yii2-redis": "~2.0.0"

Bây giờ trong bảng điều khiển, hãy chạy lệnh sau để cài đặt tiện ích mở rộng

composer update

Khi trình soạn nhạc đã hoàn tất cài đặt, hãy mở Yii2 trong trình duyệt. Mở thanh gỡ lỗi Yii và tìm các tiện ích mở rộng đã cài đặt. Bạn sẽ tìm thấy yii2-redis trong danh sách.

Điều này có nghĩa là Redis đã được cài đặt thành công và sẵn sàng để sử dụng.

Bước 2:Kết nối Redis với Yii2

Tiếp theo, kết nối ứng dụng Yii2 với Redis. Đi tới cấu hình thư mục và mở web.php. Thêm các dòng sau vào thành phần phần.

       'redis'         => [

           'class'    => 'yii\redis\Connection',

           'hostname' => 'localhost',

           'port'     => 6379,

           'database' => 0,

       ],

       'session'       => [

           'class' => 'yii\redis\Session',

       ],

       'cache'         => [

           'class' => 'yii\redis\Cache',

        ],

Sau khi hoàn tất, hãy lưu tệp. Đã đến lúc sử dụng tiện ích mở rộng làm trình xử lý phiên.

Bước 3:Sử dụng Redis làm trình xử lý phiên với Yii2

Bây giờ, hãy mở thư mục bộ điều khiển của bạn và thêm một bộ điều khiển mới trong đó. Đặt tên cho nó là RedisController.php. Bây giờ, hãy mở tệp và đặt mã sau vào đó.

<?php

namespace app\controllers;

use Yii;

use yii\filters\AccessControl;

use yii\web\Controller;

use yii\filters\VerbFilter;

class RedisController extends Controller

{

   public function actionIndex()

   {

       Yii::$app->session->setFlash('contactFormSubmitted');

       $a = Yii::$app->session->getFlash('contactFormSubmitted');

       echo $a;

   }

}

Bây giờ hãy chạy bộ điều khiển này trong trình duyệt và bạn sẽ thấy hình ảnh bên dưới khi phiên của bạn được tạo.

Bây giờ, hãy xác minh xem phiên này có được thêm vào bộ nhớ đệm redis hay không . Mở thiết bị đầu cuối SSH và nhập lệnh sau để mở redis cli.

redis-cli

Trên dòng lệnh, nhập lệnh sau để kiểm tra xem khóa mới đã được thêm vào hay chưa:

các phím
keys *

Nếu bạn tìm thấy một khóa gồm cả chữ và số, khóa đó là khóa phiên. Điều này cho thấy rằng phiên Redis đang hoạt động chính xác.

Hãy tiếp tục mở cửa sổ bảng điều khiển này để kiểm tra khóa bộ nhớ cache sau.

Bước 4:Sử dụng Redis As Cache Handler với Yii2

Bây giờ, hãy mở bộ điều khiển đã được tạo trước đó và thêm chức năng mới này vào trong đó.

   public function actionCaches()

   {

       $cache = Yii::$app->cache;

       $key   = 'new';

       $data  = $cache->get($key);

       if ($data === false) {

           $key  = 'new';

           $data = 'A newly cache added';

           $cache->set($key, $data);

       }

       echo $data;

   }

Hãy chạy hành động này trong trình duyệt. Bạn sẽ nhận được “Một bộ nhớ cache mới được thêm vào” như một đầu ra. Hãy kiểm tra xem nó có được lưu trong Redis hay không. Chuyển sang bảng điều khiển vẫn mở và nhập lệnh sau:

các phím
keys *

Bạn sẽ tìm thấy mới của mình khóa bộ nhớ cache cùng với khóa phiên đã được tạo trước đó.

Tóm tắt:

Như bạn có thể thấy rằng việc sử dụng Redis với Yii2 rất dễ dàng. bạn chỉ cần cài đặt tiện ích mở rộng và kết nối Yii2 với nó. Sau đó, bạn có thể sử dụng tiện ích mở rộng làm trình xử lý phiên và bộ nhớ cache cho ứng dụng của mình. Đây là danh sách đầy đủ các chủ đề được đề cập trong loạt bài này trên Yii2. Nếu bạn cần đặt câu hỏi về bài viết này, vui lòng để lại bình luận.


No
  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. RedisTemplate hết hạn không hoạt động

  2. Tại sao Redis SortedSet sử dụng Skip List thay vì Balanced Tree?

  3. Redis / Jedis không có điểm lỗi duy nhất và tự động chuyển đổi dự phòng

  4. nô lệ redis sẽ không đồng bộ với chủ

  5. Tôi nên sử dụng Booksleeve với protobuf-net như thế nào?