일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- linux
- Babel
- fastapi
- javascript
- Go
- docker
- python
- React
- nodejs
- 블레이드 템플릿
- NCP
- mariadb
- Redux
- phpredis
- Node
- 기초 수학
- laravel
- Machine Learning
- php
- webpack
- Switch
- deep learning
- nginx
- For
- Redis
- rabbitmq
- Backbone.js
- CentOS
- SQL
- AWS
- Today
- Total
개발일기
Laravel Framework와 Redis 연결 본문
라라벨 프레임워크에 Redis를 적용하기 위해서는 크게 두가지의 방법이 있다. PHP 확장모듈 저장소를 통해 phpredis 확장 모듈을 설치하여 사용하는 방법과 composer의 predis를 설치하여 사용하는 방법이 있다.
PHP 확장 모듈 ( PHP Extension Modules ) 이란 PHP에 새로운 기능을 추가하기 위해 관련 확장 모듈들을 설치하는 것을 뜻한다. PHP 확장 모듈 관련해서는 pear과 pecl이 있다.
- pear : PHP Extension And Application Repository. PHP 코드 내의 inlcude 문을 통하여 쉽게 사용할 수 있는 PHP 컴포넌트들을 관리 또는 배포하는 패키지 저장소이다. 간단하게 다운, 설치하여 PHP 코드에 간단하게 적용할 수 있다.
- pecl : PHP Extension Community Library. C언어로 개발되었고, 주로 컴파일된 PHP 확장 모듈들을 관리 또는 배포하는 패키지 저장소이다. pecl을 사용하기 위해서는 루트 권한이 필요하고 C 컴파일러와 관련 툴들의 설치가 필요하다. Pear과 유사한 기능을 한다.
우선 기본적으로 OS에 Redis 데이터베이스가 설치되어 있어야 한다. 해당 글을 참조하여 설치를 진행 후, 연결을 진행하면 된다.
https://phsun102.tistory.com/15
phpredis 확장 모듈 설치를 통한 redis 설정
1. Redis 확장 모듈 설치
sudo pecl install redis
2. php-fpm 재시작
systemctl restart php-fpm
3. env설정
REDIS_CLIENT=phpredis
REDIS_HOST=127.0.0.1
REDIS_PASSWORD=
REDIS_PORT=6379
REDIS_DB=0
라라벨 프로젝트 루트 폴더에 있는 .env파일에 Redis 관련 내용 수정 및 추가를 한다. Redis에 설정한 비밀번호, 포트와 몇번째 Redis 데이터베이스와 연결할지 입력한다. 또한 PHP 확장 모듈을 통한 설정이기에 REDIS_CLIENT에는 phpredis를 입력해주면 된다.
env설정 관련한 내용들은 config/database.php 파일에 작성되어 있다.
Composer를 통한 redis 설정
Composer는 PHP의 의존성 관리도구이다. Java의 Maven, Node의 Yarn과 NPM인 패키지 관리도구와 비슷한 역할을 한다. 프로젝트에 필요한 라이브러리들을 설치하며 의존성 또한 관리해주기 때문에 의존성 관리도구라고 한다.
1. Composer 설치
curl -sS https://getcomposer.org/installer | sudo php
# composer 설치
mv composer.phar /usr/local/bin/composer
# 설치한 composer를 유틸리티들을 보관하는 /usr/local/bin으로 이동
ln -s /usr/local/bin/composer /usr/bin/composer
# composer 링크를 생성한다.
# 전체 경로의 커맨드 라인에서 composer를 사용할 수 있도록 /usr/bin으로 링크를 생성해준다.
composer -v
# composer 설치 확인 및 버전 확인
2. predis 패키지 설치
composer require predis/predis
3. env 설정
REDIS_CLIENT=predis
REDIS_HOST=127.0.0.1
REDIS_PASSWORD=
REDIS_PORT=6379
REDIS_DB=0
라라벨 프로젝트 루트 폴더에 있는 .env파일에 Redis 관련 내용 수정 및 추가를 한다. PHP 확장 모듈을 통해 설치했을 때와는 다르게 REDIS_CLIENT는 predis로 지정한다.
Redis 연결 테스트
php artisan make:controller TestController
# TestController.php라는 파일이 생성된다.
// web.php
Route::get('/something', 'TestController@something');
// /something url을 통해 결과를 확인할 예정
<?php
namespace App\Http\Controllers;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\Redis;
// Rdis 관련 클래스들을 불러온다
class TestController extends Controller
{
public function something()
{
$redisConnection = Redis::connection();
// Redis 연결 확인 변수
dd($redisConnection);
// Redis 연결 유무
}
}
?>
연결이 성공된 경우, 다음과 같이 /something url로 이동했을 때 Redis 연결 정보가 나오는 것을 확인할 수 있다
'프로그래밍 언어 > PHP - Laravel' 카테고리의 다른 글
Laravel - Syntax error or access violation: 1055 Error (0) | 2022.07.18 |
---|---|
PHP - addslashes(), stripslashes() (0) | 2022.07.18 |
CentOS에 라라벨 프레임워크 설치 (0) | 2021.11.30 |
CentOS에 PHP8 설치 (Epel, Remi) (0) | 2021.11.30 |
Laravel Framework - ORM / Query Builder (0) | 2021.07.19 |