> PHP 프레임워크 > YII > yii2 프로젝트에서 redis를 사용하는 방법

yii2 프로젝트에서 redis를 사용하는 방법

爱喝马黛茶的安东尼
풀어 주다: 2019-12-09 10:28:22
원래의
3304명이 탐색했습니다.

yii2 프로젝트에서 redis를 사용하는 방법

PHP 프레임워크 Yii2에서 redis 키-값 저장소를 잘 사용하려면 먼저 공식 Github 라이브러리 yii2-redis를 권장해야 합니다. 이 라이브러리는 Yii2 프레임워크에서 redis를 사용하는 데 도움이 될 수 있으며 캐싱, 세션 및 ActiveRecord 모드를 지원합니다.

yii2-redis 라이브러리 설치

작곡가를 사용하여 yii2-redis 라이브러리를 설치하고 프로젝트의 루트 디렉터리에서

php composer.phar require --prefer-dist yiisoft/yii2-redis:"~2.0.0"
로그인 후 복사

를 실행하거나 작곡가.json 파일에

"yiisoft/yii2-redis": "~2.0.0"
로그인 후 복사

를 추가하는 것이 좋습니다. 그런 다음 작곡가 업데이트를 실행하세요. 내부적으로는 정말 느립니다. 인내심을 갖고 기다리세요.

redis 구성

이 확장을 올바르게 사용하려면 애플리케이션의 구성 파일에서 연결 클래스를 구성해야 합니다. 일반적으로 구성 파일은 configweb.php입니다.

다음과 같이 redis 프로젝트를 구성 요소에 추가합니다.

return [
    //....
    'components' => [
        'redis' => [
            'class' => 'yii\redis\Connection',
            'hostname' => 'localhost',
            'port' => 6379,
            'database' => 0,
        ],
    ]
];
로그인 후 복사

이후에는 yii2 프레임워크에서 정상적으로 redis를 사용할 수 있습니다.

Example

Simple to use

먼저 redis를 사용하여 가장 간단한 코드를 살펴보겠습니다.

$redis = Yii::$app->redis;
$key = 'username';
if ($val = $redis->get($key)) {
    return ['redis' => $val];
} else {
    $redis->set($key, 'Leon');
    $redis->expire($key, 5);
}
return ['redis' => 'no data'];
로그인 후 복사

한 줄의 주석은 없지만 한눈에 알 수 있죠?

사용자 이름 키를 찾을 수 없는 경우 키-값 저장소를 설정하고 만료 시간은 5초입니다.

이것은 Redis를 사용하는 완전한 예입니다.

Cache

다음으로 Redis를 캐싱에 활용하는 방법을 살펴보겠습니다.

마찬가지로 캐싱을 위해서는 구성 파일의 캐시 항목을 수정해야 합니다.

'components' => [
    'cache' => [
        // 'class' => 'yii\caching\FileCache',
        'class' => 'yii\redis\Cache',
    ],
],
로그인 후 복사

redis 구성 요소를 구성하지 않은 경우 캐시 아래에 redis도 구성해야 합니다.

'components' => [
    'cache' => [
        // 'class' => 'yii\caching\FileCache',
        'class' => 'yii\redis\Cache',
        'redis' => [
            'hostname' => 'localhost',
            'port' => 6379,
            'database' => 0,
        ],
    ],
],
로그인 후 복사

샘플 코드는 다음과 같습니다. , 이해하기 쉽습니다.

$cache = Yii::$app->cache;
$key = 'username';
if ($cache->exists($key)) {
    return ['cache' => $cache->get($key)];
} else {
    $cache->set($key, 'Leon', 5);
}
return ['cache' => 'no cache'];
로그인 후 복사

Session

마지막으로 redis가 세션으로 사용됩니다. 컴포넌트에서도 구성해야 합니다:

'components' => [
    'session' => [
        'name' => 'advanced-frontend',
        'class' => 'yii\redis\Session'
    ],
],
로그인 후 복사

redis를 구성하지 않은 경우 redis도 구성해야 합니다:

'components' => [
    'session' => [
        'name' => 'advanced-frontend',
        'class' => 'yii\redis\Session',
        'redis' => [
            'hostname' => 'localhost',
            'port' => 6379,
            'database' => 0,
        ],
    ],
],
로그인 후 복사

샘플 코드는 다음과 같습니다.

$session = Yii::$app->session;
$key = 'username';
if ($session->has($key)) {
    return ['session' => $session->get($key)];
} else {
    $session->set($key, 'Leon');
}
return ['session' => 'no session'];
로그인 후 복사

간단한 데모에서 Redis 사용 방법, 효율적인 도구는 모든 사람의 능력을 테스트하는 것입니다. 어서 해봐요!

PHP 중국어 웹사이트에는 무료 Yii 입문 튜토리얼이 많이 있습니다. 누구나 배울 수 있습니다!

위 내용은 yii2 프로젝트에서 redis를 사용하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

관련 라벨:
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿