그누보드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개
@patrick영
그누보드와 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 검색엔진을 이용한 도로명 주소 검색 시스템 구축
| 번호 | 분류 | 제목 | 글쓴이 | 날짜 | 조회 |
|---|---|---|---|---|---|
| 107 | 그누보드5 |
|
2개월 전 | 128 | |
| 106 | 그누보드5 |
선택과집중
|
3개월 전 | 343 | |
| 105 | 그누보드5 |
선택과집중
|
4개월 전 | 326 | |
| 104 | 그누보드5 |
선택과집중
|
5개월 전 | 284 | |
| 103 | 그누보드5 | 1년 전 | 1255 | ||
| 102 | 그누보드5 | 2년 전 | 918 | ||
| 101 | 그누보드5 | 2년 전 | 1008 | ||
| 100 | 그누보드5 |
|
2년 전 | 2280 | |
| 99 | 그누보드5 |
|
2년 전 | 844 | |
| 98 | 정규표현식 |
|
2년 전 | 1097 | |
| 97 | 그누보드5 | 3년 전 | 2307 | ||
| 96 | 그누보드5 | 3년 전 | 2700 | ||
| 95 | 그누보드5 |
|
3년 전 | 3157 | |
| 94 | 그누보드5 |
|
3년 전 | 3579 | |
| 93 | 그누보드5 | 3년 전 | 2854 | ||
| 92 | 그누보드5 | 4년 전 | 5630 | ||
| 91 | 그누보드5 | 4년 전 | 3347 | ||
| 90 | 그누보드5 | 7년 전 | 8251 | ||
| 89 | 정규표현식 | 7년 전 | 8290 | ||
| 88 | 그누보드5 | 7년 전 | 4581 | ||
| 87 | 정규표현식 | 8년 전 | 7388 | ||
| 86 | 그누보드5 | 8년 전 | 5449 | ||
| 85 | 정규표현식 | 8년 전 | 4100 | ||
| 84 | 정규표현식 |
프로그래머7
|
8년 전 | 3697 | |
| 83 | 정규표현식 |
프로그래머7
|
8년 전 | 3353 | |
| 82 | 정규표현식 |
프로그래머7
|
8년 전 | 3582 | |
| 81 | 이미지관련 | 8년 전 | 8438 | ||
| 80 | 이미지관련 | 8년 전 | 6640 | ||
| 79 | 정규표현식 | 8년 전 | 46427 | ||
| 78 | 정규표현식 | 8년 전 | 5454 |
댓글 작성
댓글을 작성하시려면 로그인이 필요합니다.
로그인하기