테스트 사이트 - 개발 중인 베타 버전입니다

그누보드5에 사용자 정의 Redis 구성을 추가하고 세션 저장소를 Redis로 변경합니다.

여기서는 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");

댓글 작성

댓글을 작성하시려면 로그인이 필요합니다.

로그인하기

댓글 5개

그누보드와 composer 는 잘 안 맞습니다.

(호스팅 업체에서 지원 안되는 경우도 많고)

Phpredis 를 모듈로 설치한 경우면, composer 로 따로 라이브러리를 추가할 필요는 없습니다.

new Redis() 로 생성하면 됩니다.

 

 

redis 를 쓰면 좋다는건 알겠는데,

본문 내용에서 뭔가 누락되거나 잘못 기술한 부분도 있는것 같습니다.

 

그누보드에서 redis를 사용하여 성능 향상을 얻을려면, 다음 글을 참조하세요.

 

https://sir.kr/g5_tip/1930

https://sir.kr/g5_tip/6547

https://sir.kr/g5_plugin/3261

 

 

 

 

너무 감사합니다 좋은정보입니다

게시판 목록

개발강좌

프로그램 강좌 :
1. 유창화님의 썸네일, 정규표현식, 이미지관련 강좌
2. Sphinx 검색엔진을 이용한 도로명 주소 검색 시스템 구축
글쓰기