1. 사용패키지 및 버전
PHP-5.4
redis-3.0.1
phpredis-2.2.7
igbinary-1.2.1
이미 php와 redis가 설치되어 있다고 가정하고..
난 간단하게 pecl 을 이용하려 한다.
2. igbinary 설치
설치방식 : pecl
PECL명 : igbinary (https://pecl.php.net/package/igbinary)
pecl install igbinary
cp /usr/local/lib/php/extensions/no-debug-non-zts-20100525/igbinary.so /usr/local/lib/php/extensions
3. phpredis 설치
설치방식 : pecl
PECL명 : redis (https://pecl.php.net/package/redis)
php+redis 구성시 predis 또는 phpredis 가 유명하다고 한다.
둘중에 무엇을 선택할까 싶어 찾아보니 C로 작성된 phpredis가 퍼포먼스가 좋다고 해서 받으러 가봤더만..
패키지 배포를
https://github.com/phpredis/phpredis
여기서 하더라…
그런데 이걸 받으려면 git 명령을 또 힘들게 써야 하고…
아니면 우측에 있는 download.zip 으로 받아서 또 풀고..
하는 작업이 귀찮아서… pecl 을 이용한 설치를 선택했다..
pecl 패키지명은 redis 라고 되어있지만… 똑같은거다.
pecl install redis
cp /usr/local/lib/php/extensions/no-debug-non-zts-20100525/redis.so /usr/local/lib/php/extensions
4. 의문점
편하자고 pecl로 설치해놓고 뭣하러 또 복사를 하나???
그냥….. 이건 그냥 개인의 스타일
php.ini 파일에
extension_dir = ”/usr/local/lib/php/extensions”
extension=igbinary.so
extension=redis.so
이렇게 쓰고싶었을뿐…
물론 extension_dir 항목을 주석처리하고 사용하면
내가 진행한 방식처럼 so 파일을 복사하지 않고
extension=igbinary.so
extension=redis.so
두줄을 추가하는 것 만으로 간편하게 사용할 수 있다.. (사실 이게 기본이긴 하다… )
그리고 이것을 굳이 설명하는것은…
extension_dir 옵션에 대한 활용을 간단하게 언급하기 위해서…………
5. 설치확인
phpinfo(); 함수로 웹에서 정상 출력되는지 확인하자..
* redis
로 검색했을때 별도의 섹션이 존재하면 된다…
6. 테스트
출처 : https://code.google.com/p/phpredis/
(개발자가 아니라서, 이런 간단한 코드도 구걸을 해와야 한다.. )
$redis = new Redis();
$redis->connect(’127.0.0.1’, 6379);
$redis->set(’key’, ’val’);
echo $redis->get(’key’);
이 코드는 redis에 접속해서
key 라는 이름의 키를 생성하되, 해당 키의 값이 val 이 되도록 집어넣고
key 라는 이름의 키 값을 불러오는…
(것 같다.. 내 생각엔)
웹에서 에러없이 파싱이 되고 val 이라는 값을 출력하면 성공…
참고로
$redis->set(’key’, ’val’);
이 구문을
$redis->set(’key’, ’val’, 3);
이렇게 변경하면
저장된 키&값이 3초후에 삭제된다…
redis를 세션용으로 쓴다고 하면… 저렇게 활용하면 되지 않을까 싶다…