国产av日韩一区二区三区精品,成人性爱视频在线观看,国产,欧美,日韩,一区,www.成色av久久成人,2222eeee成人天堂

首頁 後端開發(fā) php教程 關(guān)於laravel使用Redis實現(xiàn)網(wǎng)站快取讀取的方法

關(guān)於laravel使用Redis實現(xiàn)網(wǎng)站快取讀取的方法

Jun 13, 2018 am 09:46 AM
laravel redis redis快取 使用

這篇文章主要為大家介紹了關(guān)於laravel使用Redis實現(xiàn)網(wǎng)站快取讀取的相關(guān)資料,文中透過範(fàn)例程式碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考學(xué)習(xí)價值,需要的朋友們來一起學(xué)習(xí)學(xué)習(xí)吧。

redis的簡介

#Redis 是完全開源免費的,遵守BSD協(xié)議,是一個高效能的key-value資料庫。 Redis 與其他 key - value
快取產(chǎn)品有以下三個特點: Redis支援資料的持久化,可以將記憶體中的資料保持在磁碟中,重啟的時候可以再次載入進行使用。

Redis不僅支援簡單的key-value類型的數(shù)據(jù),同時也提供list,set,zset,hash等資料結(jié)構(gòu)的儲存。

Redis支援資料的備份,即master-slave模式的資料備份。

Redis 優(yōu)勢

  • #效能極高– Redis能讀的速度是110000次/s,寫的速度是81000次/s 。

  • 豐富的資料型別 – Redis支援二進位案例的 Strings, Lists, Hashes, Sets 和 Ordered Sets 資料型別運算。

  • 原子 – Redis的所有操作都是原子性的,同時Redis也支援對幾個操作全併後的原子性執(zhí)行。

  • 豐富的特性 – Redis也支援 publish/subscribe, 通知, key 過期等等特性。

如何安裝redis

#1.Ubuntu(因為我使用的是Homestead環(huán)境虛擬機器是Ubuntu的所以只用過這一種方法安裝)

官方給的Ubuntu安裝方法

$sudo apt-get update
$sudo apt-get install redis-server

由於我的網(wǎng)站採用的laravel的框架,要使用composer的方法安裝

composer require predis/predis

如果安裝了lumen微框架還需要安裝illuminate/redis (5.2.*)

composer require illuminate/redis (5.2.*)


##如果安裝了lumen

//需要在bootstrap/app.php里面加入此段代碼
$app->register(Illuminate\Redis\RedisServiceProvider::class);
$app->configure('database');

Redis可以當(dāng)主資料庫,所以Laravel中Redis的設(shè)定資訊位於config/database.php中:

'redis' => [
'cluster' => false,
'default' => [
 'host' => '127.0.0.1',
 'port' => 6379,
 'database' => 0,
],
],

#其中cluster選項表示是否在多個Redis節(jié)點間進行分片,這裡我們本地測試只有一個節(jié)點故將其設(shè)定為false。

default選項表示預(yù)設(shè)Redis主機連接,這裡Redis和Web伺服器共用一臺主機,所以host為127.0.0.1,Redis預(yù)設(shè)連接埠是6379。

此外,default選項也支援更??多連接參數(shù)(如果需要的話):

參數(shù)

意義

預(yù)設(shè)值
host#伺服器IP位址/主機名稱127.0.0.1
portRedis伺服器監(jiān)聽的連接埠號碼#6379
password如果伺服器需要認(rèn)證密碼不使用密碼

database

連接時選擇的資料庫索引

沒有設(shè)定索引

timeout

#連線到Redis伺服器逾時時間5秒
read_write_timeout透過網(wǎng)路連線進行讀寫操作的逾時時間

系統(tǒng)預(yù)設(shè)(不限制逾時時間的話設(shè)定為-1)

read_write_timeout |透過網(wǎng)路連線進行讀寫操作的逾時時間|系統(tǒng)預(yù)設(shè)(不限制逾時時間的話設(shè)定為-1)

#另外Redis如果是作為快取工具,還需要在config/cache.php設(shè)定redis選項:

'redis' => [

'driver' => 'redis',
'connection' => 'default',
],

這裡的connection對應(yīng)config/database中redis的默認(rèn)主機default配置。

完成上述配置之後我們就可以在應(yīng)用程式碼中使用Redis進行資料存取了。

看一個實例--laravel的mysql與Redis搭配

我的想法是在讀取的時候會先去快取中去找,如果找到那就大吉大利了,找不到再去資料庫中查找並且調(diào)到快取中。

 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函數(shù)

 $values = Cache::remember($key,$time,function () {
   return DB::select($this->sql);
  });

如果快取有直接讀取並傳回,如果快取項目在快取中不存在,則傳回給remember 方法的閉包將會被運行,而且閉包的運行結(jié)果將會被存放在快取中。

以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,更多相關(guān)內(nèi)容請關(guān)注PHP中文網(wǎng)!

相關(guān)推薦:

關(guān)於Laravel框架路由和控制器的綁定操作

Laravel框架的生命週期與原理分析

#

以上是關(guān)於laravel使用Redis實現(xiàn)網(wǎng)站快取讀取的方法的詳細(xì)內(nèi)容。更多資訊請關(guān)注PHP中文網(wǎng)其他相關(guān)文章!

本網(wǎng)站聲明
本文內(nèi)容由網(wǎng)友自願投稿,版權(quán)歸原作者所有。本站不承擔(dān)相應(yīng)的法律責(zé)任。如發(fā)現(xiàn)涉嫌抄襲或侵權(quán)的內(nèi)容,請聯(lián)絡(luò)admin@php.cn

熱AI工具

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅(qū)動的應(yīng)用程序,用於創(chuàng)建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Clothoff.io

Clothoff.io

AI脫衣器

Video Face Swap

Video Face Swap

使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發(fā)環(huán)境

Dreamweaver CS6

Dreamweaver CS6

視覺化網(wǎng)頁開發(fā)工具

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)

Laravel的政策是什麼,如何使用? Laravel的政策是什麼,如何使用? Jun 21, 2025 am 12:21 AM

InLaravel,policiesorganizeauthorizationlogicformodelactions.1.Policiesareclasseswithmethodslikeview,create,update,anddeletethatreturntrueorfalsebasedonuserpermissions.2.Toregisterapolicy,mapthemodeltoitspolicyinthe$policiesarrayofAuthServiceProvider.

Laravel中的控制器是什麼,他們的目的是什麼? Laravel中的控制器是什麼,他們的目的是什麼? Jun 20, 2025 am 12:31 AM

控制器在Laravel中的主要作用是處理HTTP請求並返迴響應(yīng),以保持代碼的整潔和可維護性。通過將相關(guān)請求邏輯集中到一個類中,控制器使路由文件更簡潔,例如將用戶資料展示、編輯和刪除等操作分別放在UserController的不同方法中。創(chuàng)建控制器可通過Artisan命令phpartisanmake:controllerUserController實現(xiàn),而資源控制器則使用--resource選項生成,涵蓋標(biāo)準(zhǔn)CRUD操作的方法。接著需在路由中綁定控制器,如Route::get('/user/{id

如何使用Laravel的驗證系統(tǒng)來驗證形式數(shù)據(jù)? 如何使用Laravel的驗證系統(tǒng)來驗證形式數(shù)據(jù)? Jun 22, 2025 pm 04:09 PM

Laravelprovidesrobusttoolsforvalidatingformdata.1.Basicvalidationcanbedoneusingthevalidate()methodincontrollers,ensuringfieldsmeetcriterialikerequired,maxlength,oruniquevalues.2.Forcomplexscenarios,formrequestsencapsulatevalidationlogicintodedicatedc

緩存策略|優(yōu)化Laravel性能 緩存策略|優(yōu)化Laravel性能 Jun 27, 2025 pm 05:41 PM

cachinginlaravelsimimprovesapplicationperformancebyreducingdatabasequeries andminimizingredementProcessing.tousecachingscachingscachingscaching foldtheSesteps:1.1.useroutecachingforstaticrouteswithpaticrouteswithphphparpartisanroute:cache cache cache,pood forpublpubliCpageSlike/ailo ofbroublike

Laravel中的.env文件是什麼,我該如何使用它? Laravel中的.env文件是什麼,我該如何使用它? Jun 22, 2025 am 01:03 AM

.env文件是Laravel項目中用於存儲環(huán)境變量的配置文件,它使敏感信息與代碼分離並支持多環(huán)境切換。其核心作用包括:1.集中管理數(shù)據(jù)庫連接、API密鑰等配置;2.通過env()或config()函數(shù)調(diào)用變量;3.修改後需刷新配置才能生效;4.不應(yīng)提交至版本控制以防止洩露;5.可為不同環(huán)境創(chuàng)建多個.env文件。使用時應(yīng)先定義變量再結(jié)合配置文件調(diào)用,避免直接硬編碼。

拉拉維爾(Laravel)中的雄辯的ORM是什麼? 拉拉維爾(Laravel)中的雄辯的ORM是什麼? Jun 22, 2025 am 09:37 AM

EloquentORMisLaravel’sbuilt-inobject-relationalmapperthatsimplifiesdatabaseinteractionsusingPHPclassesandobjects.1.Itmapsdatabasetablestomodels,enablingexpressivesyntaxforqueries.2.Modelscorrespondtotablesbypluralizingthemodelname,butcustomtablenames

REDIS與數(shù)據(jù)庫:有什麼限制? REDIS與數(shù)據(jù)庫:有什麼限制? Jul 02, 2025 am 12:03 AM

RedisiSlimitedByMemoryConstraintSandDataperSistersence,而ErtraditionalditionaldatienaldatabasesstrugglewithperformanceInreal-TimesCenarios.1)redisexccelsinreal-timeDatapRocessingButCachingButmmayRecomplecomplecomplexshardingforlargedAtasetSetaSets.2)

如何在Laravel創(chuàng)建基本路線? 如何在Laravel創(chuàng)建基本路線? Jun 19, 2025 am 01:03 AM

在Laravel中創(chuàng)建基本路由的步驟如下:1.打開位於routes/web.php的路由文件;2.使用Route::get()等方法定義路由,例如Route::get('/hello',function(){return'Hello,Laravel!';});3.通過phpartisanserve運行服務(wù)器並訪問http://localhost:8000/hello進行測試;4.使用Artisan生成控制器如HelloController,並在其中添加處理方法;5.更新路由以指向控制器方法,例如

See all articles