Laravel ??: Laravel Redis? ???? ??? ??? ???? ??? ??????
Jun 13, 2023 pm 05:45 PMLaravel? ? ??? ?? ???? ?? ?? ?? PHP ????????. Laravel ?????? ??? ??? ???? ??? API? ?? ??? ?? ?????. Redis? ??? ?? ? ?? ???? ?? ????? ???? ? ?? ?? ?? ?? ?? ???? ??? ?? ???????. ? ????? Laravel Redis? ???? Laravel?? ??? ??? ???? ? ??????? ??? ????? ??? ?????.
Installation
?? Laravel Redis? ???? ???. ?? ??? ???? Composer? ???? ??? ? ????:
composer require predis/predis
predis/predis ???? ???? Laravel Redis ?? ????? ?????. ??? ??? ? .env
???? REDIS_HOST, REDIS_PASSWORD ? REDIS_PORT ??? ???? ???. .env
文件中設(shè)置REDIS_HOST,REDIS_PASSWORD和REDIS_PORT變量。
REDIS_HOST=127.0.0.1 REDIS_PASSWORD=null REDIS_PORT=6379
配置Laravel Redis
修改config/cache.php
文件中的配置,將'default'選項(xiàng)更改為'redis'使用Redis作為緩存驅(qū)動(dòng)。另外,在'redis'數(shù)組中設(shè)置Redis連接信息。
'default' => env('CACHE_DRIVER', 'redis'), 'redis' => [ 'client' => 'predis', 'default' => [ 'host' => env('REDIS_HOST', '127.0.0.1'), 'password' => env('REDIS_PASSWORD', null), 'port' => env('REDIS_PORT', 6379), 'database' => env('REDIS_DB', 0), ], ],
使用Laravel Redis
一旦設(shè)置好了Laravel Redis的驅(qū)動(dòng)程序和配置,我們可以開(kāi)始使用它了。下面是通過(guò)Laravel Redis進(jìn)行數(shù)據(jù)緩存的3種方法:
普通緩存
使用Laravel Redis的最簡(jiǎn)單方法是使用Cache
門面的基本方法。Laravel框架提供了許多高級(jí)功能,但這里強(qiáng)調(diào)最基本的緩存處理方法??梢酝ㄟ^(guò)以下代碼進(jìn)行緩存:
use IlluminateSupportFacadesCache; $value = Cache::remember('key', $minutes, function () { return DB::table('users')->get(); });
上述代碼將結(jié)果從"users"表中緩存到Redis中。在此之后,調(diào)用該密鑰時(shí)將重復(fù)使用Redis中的緩存副本,而不是從源數(shù)據(jù)庫(kù)重新生成結(jié)果。Cache::remember
方法的第二個(gè)參數(shù)是緩存有效期(以分鐘為單位),或者可以使用Cache::forever
方法將數(shù)據(jù)永久保存到緩存中。
標(biāo)簽緩存
另一種使用Laravel Redis的高級(jí)緩存方法是使用標(biāo)簽。標(biāo)簽使您可以創(chuàng)建和捕獲多個(gè)緩存條目,然后使用標(biāo)簽清除所有這些條目。標(biāo)簽緩存提供了對(duì)緩存生命周期的更好控制。
use IlluminateSupportFacadesCache; Cache::tags(['people', 'artists'])->put('John', $john, $minutes); Cache::tags(['people', 'authors'])->put('Jane', $jane, $minutes);
上述代碼將John
保存在兩個(gè)標(biāo)簽people
和artists
中,并將Jane
保存在兩個(gè)標(biāo)簽people
和authors
中?,F(xiàn)在可以使用特定標(biāo)簽的flush
方法,僅清除該標(biāo)簽下的所有緩存項(xiàng)。
Cache::tags(['people'])->flush();
上述代碼清除所有帶有people
標(biāo)簽的緩存并將它們從Redis中刪除。
輔助函數(shù)
Laravel Redis還提供了一些功能較少但使用起來(lái)更加方便的輔助函數(shù)。以下是其中一些:
-
cache()->put('key', 'value', $minutes)
緩存輸入值一定時(shí)間。 -
cache()->get('key')
檢索已緩存的值。 -
cache()->remember('key', $minutes, function() { return 'value'; })
檢索任何緩存項(xiàng),失敗時(shí)返回新值。 -
cache()->rememberForever()
rrreee Laravel Redis ??
config/cache.php
??? ??? ???? 'default' ??? 'redis'? ???? Redis? ?? ????? ?????. ?? 'redis' ??? Redis ?? ??? ?????.
rrreeeLaravel Redis ??
??Laravel Redis ????? ??? ???? ??? ??? ? ????. Laravel Redis? ?? ???? ???? 3?? ??? ??? ????: ???? ??
??Laravel Redis? ???? ?? ?? ???Cache
???? ?? ??? ???? ????. Laravel ?????? ?? ?? ??? ????? ???? ?? ???? ?? ??? ?????. ??? ?? ??? ?? ??? ? ????. ??rrreee??? ??? "users" ???? ??? Redis? ?????. ? ??? ?? ???????? ??? ?? ???? ?? ?? ??? ? Redis? ??? ???? ??????. Cache::remember
???? ? ?? ????? ?? ?? ??(?)???. ?? Cache::forever
???? ???? ???? ??? ????? ??? ? ????. . ???? ??
??Laravel Redis? ? ?? ?? ?? ??? ??? ???? ????. ??? ???? ?? ?? ??? ?? ? ??? ?? ??? ???? ?? ??? ?? ? ????. ?? ??? ?? ????? ?? ????? ??? ? ????. ??rrreee???? ???people
? artists
? ??? John
? ???? ? ??? Jane
? ?????. ??
? ??
? ?????. ?? ?? ??? flush
???? ???? ?? ?? ??? ??? ?? ??? ?? ? ????. ??rrreee??? ??? people
??? ?? ?? ??? ??? Redis?? ?????. ???? ??
??Laravel Redis? ??? ??? ???? ? ??? ? ?? ?? ??? ?????. ? ? ??? ??? ????. ??-
cache()->put('key', 'value', $ Minutes)
?? ?? ?? ?? ?? ?????. ?? -
cache()->get('key')
??? ?? ?????. ?? -
cache()->remember('key', $ Minutes, function() { return 'value'; })
??? ??? ???? ?? ? ? ?? ?????. ?? -
cache()->rememberForever()
?? ??? ?? ?????. ????????????Laravel Redis? ? ???????? ???? ???? ???? ??? ?? ? ??? ???? ?? ???? ???? ?? ? ?? ??? ?????. Laravel ?????? Composer? ?? ?? ???? ????? Laravel Redis ??? ?????. ??? ? ???????? Laravel Redis ??? ???? ?? ??????? ?? ???? ??? ???? ?? ???? ?? ?? ??? ????? ??? ????. ??
? ??? Laravel ??: Laravel Redis? ???? ??? ??? ???? ??? ??????? ?? ?????. ??? ??? PHP ??? ????? ?? ?? ??? ?????!

? AI ??

Undress AI Tool
??? ???? ??

Undresser.AI Undress
???? ?? ??? ??? ?? AI ?? ?

AI Clothes Remover
???? ?? ???? ??? AI ?????.

Clothoff.io
AI ? ???

Video Face Swap
??? ??? AI ?? ?? ??? ???? ?? ???? ??? ?? ????!

?? ??

??? ??

???++7.3.1
???? ?? ?? ?? ???

SublimeText3 ??? ??
??? ??, ???? ?? ????.

???? 13.0.1 ???
??? PHP ?? ?? ??

???? CS6
??? ? ?? ??

SublimeText3 Mac ??
? ??? ?? ?? ?????(SublimeText3)

AI? ??? ??? ?? ?? ? ?? ???? ????? ?? ??? ??????. 1. Baidu, Tencent API ?? ?? ?? NLP ?????? ?? ??? AI ?? ?? API? ??????. 2. PHP? ? ?? guzzle? ?? API? ???? ?? ??? ??????. 3. ?? ????? ?? ?? ??? ???? ???? ???? ??? ??? ? ????. 4. ?? ?? ? ?? ???? ?? PHP-L ? PHP_CODESNIFFER? ??????. 5. ???? ????? ???? ?? ?? ??? ?????? ??? ??????. AIAPI? ??? ? ???, ?? ??, ?? ? PHP ?? ??? ??? ???. ?? ???? PSR ??? ???, ??? ????? ????, ?? ??? ???, ????? ??? ????, X? ???????.

PHP? ?????? ????? ?? ?? ?? ???? ???? ?? ???? ???? ?? ?? ???? ?????. 2. ?? ??? ???? ???? ?? ??? ?? ? ??? ??? ???? ?? API/Webhook ??? ??? ?? ???? ??? ??? ??? ??? ?????. 3. ?? ????? ?? ??, ??/???? ????, ???? ??, ???? ? ??? ?????? ????? ?? ??? ???? ???? ?? Dingtalk, SMS ?? ??? ???? ??? ?????? ???? ?? ? ??? ??? ????? ?? ??? ???? ???????.

PHP?? ?? ??? ???? ? ?? ?? ??? ????. 1. php.ini? ?? ??? ??; 2. ? ?? (? : Apache? Setenv ?? nginx? FastCGI_Param)? ??????. 3. PHP ?????? putenv () ??? ??????. ? ??? Php.ini? ????? ??? ???? ??? ???? ? ?? ??? ?? ???? ????? ???? Putenv ()? ?? ??? ?????. ?? ???? ?? ?? (? : php.ini ?? ? ?? ??)? ???? ????. ?? ?? ??? ??? ?? ??? ????? ???? ?? ????.

Laravel? ?? ??? ?? ?? ??? ?? ?? ??? ???? ??? ??????. ?? ???? ?? ??? ????? ? ???? I/O ?? ? ?? ?? ??? ???? ???? ??? ?? ? ????. 1. ?? ????? ?? ? ? ???????? ??? ????? ?? ???? ??????. 2. ??? ? ??? ?? ? ? PhPartisAnconfig? ?? ???????. 3. ?? ??? ??? ??? ???? ?? ?? ?? ???? ???? ????. 4. ?? ?? ??? ???? ?? ??? ??? .env ??? ???? ?? ???????.

PHP ????? ?? ??? ??? ? ??? ??? CI (Continuous Integration) ????? ???? ? ????. 1. DockerFile? ???? ?? ???, ?? ??, ??? ?? ? ?? ??? ???? PHP ??? ?????. 2. Gitlabci? ?? CI/CD ??? ???? .gitlab-ci.yml ??? ?? ??, ??? ? ?? ??? ???? ?? ??, ??? ? ??? ?????. 3. PHPUNIT? ?? ??? ??? ??? ???? ?? ?? ? ???? ???? ????????. 4. Kubernetes? ?? ?? ?? ??? ???? ?? .yaml ??? ?? ?? ??? ?????. 5. Dockerfile ??? ? ??? ??? ??????

Laravel? eloquentscopes? ?? ??? ??? ??? ?????? ?? ?? ??? ????? ?????. 1. ?? ??? ???? ???? ???? ???? Post :: published (); 2. ??? ??? ?? ??? ???? ???? ?? ??? ?? ?? ?? ??? ???? ???? ??? ?????? ??? ???? ???????. 3. ????? ?? ?? ?? ??? ??? ?? ?? ??? ?? ? ? ??? ?? ? ? ?? ?? ??? ?????. 4. ?? ??? ? ??? ?? ???? ? ??? ? ?? ??, ?? ??, ?? ???? ? ?? ?????????.

CreateAhelpers.phpfileInapp/helperswithCustOmFunctionsikeFormatPrice, isactiveroute, andisAdmin.2.addTheFileTothe "??"sectionOfcomposer.jsonUnderAutoLoad.3.runcomposerDump-AUTOLOADTOMAKETHINGTICTIONSGLOBELYAVAILABLE.4.USETHEHELPERFUNCUNTION

?? ?? ?? : ?? ????? PHP? ?? Error_Log ()? ??? ? ????. ????? ???? ??? ?? ??? ?????? ???? ?? ??? ? ?? ??? ???? ??? ?? ???, ??, ?? ? ?? ? ?? ?? ??? ???? ??? ??????. 2. ??? ?? ?? : ??? ??? ??? ??? ? ??? ?? ??? ??? ?? ??? ??? ??????? ??????. MySQL/PostgreSQL? ???? ??? ? ???? ??????. Elasticsearch Kibana? ? ???/? ???? ?????. ???, ??? ?? ? ??? ? ?? ??? ?? ??????. 3. ?? ? ?? ????? : ??, ???, ?? ? ??? ??? ??????. Kibana? ?? ????? PHP ??? ?? ?? ?????? ???? ???? ?????? ???? ??? ? ?? ??? ??? ? ????.
