그누보드5에 사용자 정의 Redis 구성을 추가하고 세션 저장소를 Redis로 변경합니다. 정보
그누보드5 그누보드5에 사용자 정의 Redis 구성을 추가하고 세션 저장소를 Redis로 변경합니다.- pachinkokkk 자기소개 아이디로 검색 회원게시물
- 조회 1,567
- 댓글 5
본문
여기서는 Composer를 사용하여 설치하고 있습니다. 이해하지 못하는 경우
https://getcomposer.org/ 를 참조하세요. 먼저 predis를 설치합니다.
composer require predis/predis
그런 다음 루트 디렉토리의 common.php 파일에 다음을 추가합니다.
require_once __DIR__ . '/vendor/autoload.php';
그런 다음 lib 디렉토리 아래에 RedisClient.php를 만들고 다음 내용을 추가합니다.
<?php require_once __DIR__ . '/../vendor/autoload.php'; require_once __DIR__ . '/../bbs/_common.php'; use Predis\Client; /** * Redis 클라이언트 */ class RedisClient { private static $instance = null; private $client; private function __construct() { // TCP 연결을 사용하여 Predis 클라이언트 인스턴스 생성 $this->client = new Client([ 'scheme' => 'tcp', 'host' => G5_REDIS_HOST, // Redis 서버 호스트 이름 또는 IP 주소 'port' => G5_REDIS_PORT, // Redis 서버 포트 'timeout' => G5_REDIS_TIMEOUT, // 연결 타임아웃 시간 (초 단위) ]); $this->client->auth(G5_REDIS_PW);// Redis 비밀번호 } public static function getInstance() { if (self::$instance === null) { self::$instance = new self(); } return self::$instance; } public function getClient() { return $this->client; } }
먼저 루트 디렉토리의 config.php 파일에 다음 코드를 추가합니다.
// Redis 설정 define('G5_REDIS_HOST', 'localhost'); define('G5_REDIS_PORT', 6379); define('G5_REDIS_PW', ''); define('G5_REDIS_TIMEOUT', 60); define('G5_REDIS_SESSION_SAVE_PATH', "tcp://localhost:6379?weight=1&auth="); // 세션 저장 방식 (파일은 files, Redis는 redis) define('G5_SESSION_SAVE_HANDLER', "redis");
그런 다음 루트 디렉토리의 common.php 파일을 수정하고 231번째 라인에 다음을 추가합니다.
@ini_set("session.save_handler", G5_SESSION_SAVE_HANDLER); // 세션 저장 방식 설정
그런 다음 주석 처리된 이 라인을 다음과 같이 변경하여 세션 저장 경로를 설정합니다.
session_save_path(G5_REDIS_SESSION_SAVE_PATH);
세션 저장 방식을 파일로 변경하려면 다음을 수정합니다.
define('G5_SESSION_SAVE_HANDLER', "files"); define('G5_REDIS_SESSION_SAVE_PATH', "/tmp");
3
댓글 5개
@patrick영
그누보드와 composer 는 잘 안 맞습니다.
(호스팅 업체에서 지원 안되는 경우도 많고)
Phpredis 를 모듈로 설치한 경우면, composer 로 따로 라이브러리를 추가할 필요는 없습니다.
new Redis() 로 생성하면 됩니다.
redis 를 쓰면 좋다는건 알겠는데,
본문 내용에서 뭔가 누락되거나 잘못 기술한 부분도 있는것 같습니다.
그누보드에서 redis를 사용하여 성능 향상을 얻을려면, 다음 글을 참조하세요.
https://sir.kr/g5_plugin/3261