pachinkokkk

그누보드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 검색엔진을 이용한 도로명 주소 검색 시스템 구축

+
분류 제목 글쓴이 날짜 조회
그누보드5 3주 전 조회 64
그누보드5
[그누보드5]
5개월 전 조회 180
그누보드5 6개월 전 조회 417
그누보드5 7개월 전 조회 399
그누보드5 7개월 전 조회 331
그누보드5 2년 전 조회 1,308
그누보드5 2년 전 조회 966
그누보드5 2년 전 조회 1,052
그누보드5 2년 전 조회 2,407
그누보드5 2년 전 조회 895
정규표현식 2년 전 조회 1,203
그누보드5 3년 전 조회 2,379
그누보드5 3년 전 조회 2,775
그누보드5 3년 전 조회 3,300
그누보드5 3년 전 조회 3,679
그누보드5 3년 전 조회 2,917
그누보드5 5년 전 조회 5,792
그누보드5 5년 전 조회 3,430
그누보드5 7년 전 조회 8,338
정규표현식 7년 전 조회 8,373
그누보드5 7년 전 조회 4,637
정규표현식 8년 전 조회 7,471
그누보드5 8년 전 조회 5,510
정규표현식 8년 전 조회 4,147
정규표현식 8년 전 조회 3,758
정규표현식 8년 전 조회 3,429
정규표현식 8년 전 조회 3,650
이미지관련 8년 전 조회 8,515
이미지관련 8년 전 조회 6,723
정규표현식 8년 전 조회 4.7만
🐛 버그신고