그누보드5에 사용자 정의 Redis 구성을 추가하고 세션 저장소를 Redis로 변경합니다. 정보
그누보드5 그누보드5에 사용자 정의 Redis 구성을 추가하고 세션 저장소를 Redis로 변경합니다.- pachinkokkk 자기소개 아이디로 검색 회원게시물
- 1,598

본문
여기서는 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