Redis는 고성능 키-값 데이터베이스입니다. Redis의 출현은 일부 상황에서 관계형 데이터베이스에 대한 매우 훌륭한 보완 역할을 할 수 있습니다. 반면에 많은 사람들은 세션 저장을 위해 Redis를 선택합니다. 파일 스토리지의 속도와 효율성을 보완하여 더 높은 가용성을 달성합니다.
php.ini 설정 수정
session.save_handler = redis
session.save_path ="tcp://127.0.0.1:6379 "
수정 후 php-fpm을 다시 시작하면 phpinfo()에서 해당 세션이 redis에 저장되어 있는 것을 확인할 수 있습니다.
php.ini를 수정하고 싶지 않다면 다음 코드를 추가하세요:
ini_set("session.save_handler","redis");
ini_set("session.save_path ","tcp://127.0.0.1:6379");
redis.conf가 연결 비밀번호(requirepass)를 설정하는 경우 세션의 save_path를 다음과 같이 수정해야 합니다. tcp://127.0.0.1:6379? auth=requirepass의 값입니다.
redis 데이터베이스를 선택하는 경우 session.save_path = "tcp://xx.xx.xx.xx:6789?database=11" 등입니다.
redis 저장소 세션 값 보기:
session_start();
$_SESSION['sessionid']='www. webyang .net';
$redis =new redis();
$redis->connect('127.0.0.1',6379);
//Redis는 PHPREDIS_SESSION을 사용합니다: session_id를 키로 추가하고 문자열
echo $redis->get('PHPREDIS_SESSION:'.session_id());//출력 www.webyang 형식으로 저장합니다. .net
?>
인터넷에서 일부 사람들이 redis가 세션 값을 저장할 때 동시성 일관성 문제에 대해 의문을 제기하는 것을 보았습니다. (파일 저장 세션은 파일 잠금으로 처리됨), 그러나 이에 대한 연구는 없습니다.