ThinkpHP 사용자 정의 Redis 처리 SESSION 의 실현 방법
일상 에서 저 희 는 session 을 사용 하여 사용자 가 로그 인 한 정 보 를 저장 합 니 다.자주 사용 하 는 session 의 저장 방식 은 파일 저장(기본 값),데이터 베이스 저장,Redis 저장,memcached 등 이 있 습 니 다.세 션 을 ThinkpHP 로 처리 할 때 Redis 로 세 션 을 저장 하 는 방법 을 기록 합 니 다.
1.설정 항목 에서 정의:
'SESSION_TYPE' => 'Redis', //session
'SESSION_PREFIX' => 'sess_', //session
'REDIS_HOST' => '127.0.0.1' //REDIS
'REDIS_PORT' => 6379, //REDIS
'SESSION_EXPIRE' => 3600, //SESSION
ThinkpHP/Common/functions.php 파일 에서 session 을 정의 하 는 방법 을 찾 을 수 있 습 니 다.약 1179 줄 정도 에서 session 드라이브 의 판단 을 읽 을 수 있 습 니 다.만약 우리 가 설정 항목 을 정의 했다 면 SESSIONTYPE,새로운 Redis 대상 을 호출 하고 세 션 저장 함수 sessionset_save_handler()。2.ThinkPHP\Library\Think\Session\\Driver 디 렉 터 리 에 Redis.class.php 파일 을 새로 만 듭 니 다.
파일 내용 은 다음 과 같 습 니 다.
<?php
namespace Think\Session\Driver;
class Redis {
// Redis
private $redis;
// Session
private $expire;
/**
*
* @param type $path
* @param type $name
* @return type
*/
public function open($path, $name) {
$this->expire = C('SESSION_EXPIRE') ? C('SESSION_EXPIRE') : ini_get('session.gc_maxLifetime');
$this->redis = new Redis();
return $this->redis->connect(C('REDIS_HOST'), C('REDIS_PORT'));
}
/**
*
* @return type
*/
public function close() {
return $this->redis->close();
}
/**
*
* @param string $id
* @return type
*/
public function read($id) {
$id = C('SESSION_PREFIX') . $id;
$data = $this->redis->get($id);
return $data ? $data : '';
}
/**
*
* @param string $id
* @param type $data
* @return type
*/
public function write($id, $data) {
$id = C('SESSION_PREFIX') . $id;
return $this->redis->set($id, $data, $this->expire);
}
/**
*
* @param string $id
*/
public function destroy($id) {
$id = C('SESSION_PREFIX') . $id;
$this->redis->delete($id);
}
/**
*
* @param type $maxLifeTime
* @return boolean
*/
public function gc($maxLifeTime) {
return true;
}
}
이로써 레 디 스 의 세 션 처 리 를 마 쳤 다.memcached 방법 은 Redis 와 많이 다 릅 니 다!
보충:이 사이트 의 phop 포맷 미화 도 구 를 추천 합 니 다.
php 코드 온라인 포맷 미화 도구:http://tools.jb51.net/code/phpformat
thinkpHP 관련 내용 에 관심 이 있 는 독자 들 은 본 사이트 의 주 제 를 볼 수 있 습 니 다.ThinkpHP 입문 강좌,ThinkPHP 상용 방법 총화,smarty 템 플 릿 입문 기초 튜 토리 얼과PHP 템 플 릿 기술 총화.
본 고 는 ThinkPHP 프레임 워 크 를 기반 으로 한 PHP 프로 그래 밍 에 도움 이 되 기 를 바 랍 니 다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
ThinkPHP5 일반 데이터 작업1. 데이터베이스는:thinkphp5, 새 데이터 테이블think_test 2.\application\database.php에서 수정 3.\application\index\model 다음에 새 모델 파일 테스트.ph...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.