This article mainly introduces the method of using Redis in the Laravel framework. It analyzes the configuration, usage and related operation precautions of the Redis database in the Laravel framework in detail in the form of examples. Friends in need can refer to it
The example in this article describes how the Laravel framework uses Redis. Share it with everyone for your reference, the details are as follows:
Installation
Using redis in laravel first requires you to install the predis/predis package through Composer:
composer require predis/predis
Configuration
The configuration file of redis is: config/database.php
'redis' => [ 'client' => 'predis', 'default' => [ 'host' => env('REDIS_HOST', '127.0.0.1'), 'password' => env('REDIS_PASSWORD',null), 'port' => env('REDIS_PORT', 6379), 'database' => 0, ], ],
You don’t need to change this when you test it. The other place is the .env file
REDIS_HOST=127.0.0.1 REDIS_PASSWORD=null REDIS_PORT=6379
These are relevant information. In fact, you don’t need to change it. Let's not talk about the problem of redis cluster here, but let's talk about the use of single redis first.
Test
First you need a route:
//redis测试 Route::get('testRedis','RedisController@testRedis')->name('testRedis');
Utilize The artisan command creates a controller
php artisan make:controller RedisController
Then we introduce the corresponding class and create a method in the controller.
Because after we installed it through composer, the laravel framework has helped us register and support redis in the app.php configuration file, so we can use it directly. (Member class is the data table model I tested myself, so don’t bother with it)
<?php namespace App\Http\Controllers; use Illuminate\Http\Request; use App\Models\Member; use Illuminate\Support\Facades\Redis; class RedisController extends Controller { public function testRedis() { Redis::set('name', 'guwenjie'); $values = Redis::get('name'); dd($values); //输出:"guwenjie" //加一个小例子比如网站首页某个人员或者某条新闻日访问量特别高,可以存储进redis,减轻内存压力 $userinfo = Member::find(1200); Redis::set('user_key',$userinfo); if(Redis::exists('user_key')){ $values = Redis::get('user_key'); }else{ $values = Member::find(1200);//此处为了测试你可以将id=1200改为另一个id } dump($values); } }
Error question
When you complete the above operation and run it, you may get this error:
(1/1) ConnectionException ����Ŀ����������ܾ��������ӡ� [tcp://127.0.0.1:6379] in AbstractConnection.php (line 155) at AbstractConnection->onConnectionError('����Ŀ����������ܾ��������ӡ�', 10061) in StreamConnection.php (line 128) ....
In fact, this problem is not a problem, but many people may get into trouble when they first use it.
This is because the redis service is not installed and started on your server, just like mysql. The prerequisite for use is that it is installed and started successfully.
I tested it under windows, so I will talk about windows. I will write related redis articles in the future, and the installation, startup and use of Linux will be introduced.
First download the windows version: https://redis.io/download
Or use the one I downloaded, the version is: 4.0.8
In fact, the following is also This is a tutorial on how to install Redis in Windows
Extract the compressed package you just downloaded, change the name to Redis (optional) and place it on the C drive
Open the cmd window under this path and enter directly redis.exe
The following content is displayed to indicate that the installation and startup were successful. (Note: If you want to operate from the command line, you should open another cmd window. This cannot be closed)
If you don’t want to go to this directory to start every time, please configure the environment variables.
Now you can rerun the request in Laravel and it will run normally.
Related recommendations:
Detailed explanation of pjax use cases in laravel framework
laravel framework implementation of search function code analysis
The above is the detailed content of How Laravel framework uses Redis. For more information, please follow other related articles on the PHP Chinese website!