Laravel이 Redis를 사용하여 웹사이트 캐시 읽기를 구현하는 구현 단계에 대한 자세한 설명

php中世界最好的语言
풀어 주다: 2023-03-26 10:30:01
원래의
2041명이 탐색했습니다.

이번에는 laravel이 Redis를 사용하여 웹사이트 캐시 읽기를 구현하는 단계에 대해 자세히 설명하겠습니다. laravel이 Redis를 사용하여 웹사이트 캐시 읽기를 구현하는 데 있어 주의 사항은 무엇입니까? 다음은 실제 사례입니다. 봐.

redis 소개

Redis는 완전한 오픈 소스이며 무료이며 BSD 프로토콜을 준수하며 고성능 키-값 데이터베이스입니다. Redis 및 기타 키-값 캐시 제품에는 다음과 같은 세 가지 특성이 있습니다. Redis는 데이터를 디스크의 메모리에 보관하고 다시 시작할 때 사용하기 위해 다시 로드할 수 있는 데이터 지속성을 지원합니다.

Redis는 단순한 키-값 유형의 데이터를 지원할 뿐만 아니라 list, set, zset, hash와 같은 데이터 구조의 저장도 제공합니다.

Redis는 데이터 백업, 즉 마스터-슬레이브 모드에서의 데이터 백업을 지원합니다.

Redis의 장점

redis 설치 방법

1. 우분투 (저는 홈스테드 환경을 사용하고 있고 가상머신은 우분투라서 이 방법으로만 설치했습니다. 윈도우의 경우 http로 접속해주세요. ://www.redis.net.cn/tutor 또는 http://www.jb51.net/article/84071.htm... )

공식 Ubuntu 설치 방법

$sudo apt-get update
$sudo apt-get install redis-server
로그인 후 복사

제 웹사이트는 laravel 프레임워크를 사용하기 때문에

composer require predis/predis
로그인 후 복사
를 설치하려면 작곡가 방법을 사용해야 합니다

lumen 마이크로 프레임워크를 설치한 경우 조명/redis(5.2.*)도 설치해야 합니다.

composer require illuminate/redis (5.2.*)
로그인 후 복사

Configuration

lumen을 설치한 경우

//需要在bootstrap/app.php里面加入此段代码
$app->register(Illuminate\Redis\RedisServiceProvider::class);
$app->configure('database');
로그인 후 복사

Redis 기본 데이터베이스로 사용할 수 있으므로 Laravel의 Redis 구성 정보는 config/database.php에 있습니다.

'redis' => [
'cluster' => false,
'default' => [
 'host' => '127.0.0.1',
 'port' => 6379,
 'database' => 0,
],
],
로그인 후 복사

클러스터 옵션은 여러 Redis 노드 간에 샤딩을 수행할지 여부를 나타냅니다. 여기서는 로컬에서 하나의 노드만 테스트합니다. 거짓으로 설정하세요.

기본 옵션은 기본 Redis 호스트 연결을 나타냅니다. 여기서 Redis와 웹 서버는 동일한 호스트를 공유하므로 호스트는 127.0.0.1이고 기본 Redis 포트는 6379입니다.

또한 기본 옵션은 더 많은 연결 매개변수(필요한 경우)도 지원합니다.

parameters기본값host서버 IP 주소/호스트 이름 127.0.0.1portRedis 서버 수신 포트 번호6379password서버에 인증 비밀번호가 필요한 경우비밀번호를 사용하지 마세요인덱스 세트 없음Redis 서버 연결 시간 초과5초read_write_timeout네트워크 연결을 통한 읽기 및 쓰기 작업 시간 초과

read_write_timeout |通过网络连接进行读写操作的超时时间 |系统默认(不限制超时时间的话设置为-1)

另外Redis如果是作为缓存工具,还需要在config/cache.php配置redis选项:

'redis' => [
'driver' => 'redis',
'connection' => 'default',
],
로그인 후 복사

这里的connection对应config/database中redis的默认主机default配置。

完成上述配置之后我们就可以在应用代码中使用Redis进行数据存取了。

看一个实例————laravel的mysql与Redis搭配

我的想法是在读取的时候会先去缓存中去查找,如果找到那就大吉大利了,找不到再去数据库中查找并且调到缓存中。

 if (Cache::has($key)){    //首先查寻cache如果找到
  $values = Cache::get($>key); //直接读取cache
  return $values;
 }else{         //如果cache里面没有  
  $values = DB::select($sql);
  Cache::put($key,$value,$time);
  return $values;
 }
로그인 후 복사

但是laravel的cache还提供了个remember函数

 $values = Cache::remember($key,$time,function () {
   return DB::select($this->sql);
  });
로그인 후 복사

如果缓存有直接读取并返回,如果缓存项在缓存中不存在,则返回给 remember 方法的闭包将会被运行,而且闭包的运行结果将会被存放在缓存中。

相信看了本文案例你已经掌握了方法,更多精彩请关注php中文网其它相关文章!

推荐阅读:

php微信模板消息推送步骤详解

PHP动态添加XML数据步骤详解

위 내용은 Laravel이 Redis를 사용하여 웹사이트 캐시 읽기를 구현하는 구현 단계에 대한 자세한 설명의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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

데이터베이스

선택됨 데이터베이스 인덱스 연결 시

timeout

시스템 기본값 (타임아웃에 제한이 없다면 -1로 설정하세요)