laravel cache

一、基本操作

Cache::put() 創建緩存(鍵,值,有效期(單位是秒))
Cache::get() 獲取緩存
Cache::add() 只會在緩存項不存在的情況下添加數據到緩存,如果數據被成功返回 true,否則,返回 false
Cache::pull() 從緩存中獲取緩存項然后刪除,使用 pull 方法,如果緩存項不存在的話返回 null
Cache::forever() 用于持久化存儲數據到緩存,這些值必須通過 forget 方法手動從緩存中移除
Cache::forget() 從緩存中移除緩存項數據
Cache::has() 用于判斷緩存項是否存在,如果值為 nullfalse 該方法會返回 false

二、基本配置

laravel框架的緩存配置在config/cache.php文件中

1)、配置文件

<?phpuse Illuminate\Support\Str;return [/*|--------------------------------------------------------------------------| Default Cache Store|--------------------------------------------------------------------------|| This option controls the default cache connection that gets used while| using this caching library. This connection is used when another is| not explicitly specified when executing a given caching function.|| Supported: "apc", "array", "database", "file",|            "memcached", "redis", "dynamodb"|*/'default' => env('CACHE_DRIVER', 'file'),/*|--------------------------------------------------------------------------| Cache Stores|--------------------------------------------------------------------------|| Here you may define all of the cache "stores" for your application as| well as their drivers. You may even define multiple stores for the| same cache driver to group types of items stored in your caches.|*/'stores' => ['apc' => ['driver' => 'apc',],'array' => ['driver' => 'array','serialize' => false,],'database' => ['driver' => 'database','table' => 'cache','connection' => null,],'file' => ['driver' => 'file','path' => storage_path('framework/cache/data'),],'memcached' => ['driver' => 'memcached','persistent_id' => env('MEMCACHED_PERSISTENT_ID'),'sasl' => [env('MEMCACHED_USERNAME'),env('MEMCACHED_PASSWORD'),],'options' => [// Memcached::OPT_CONNECT_TIMEOUT => 2000,],'servers' => [['host' => env('MEMCACHED_HOST', '127.0.0.1'),'port' => env('MEMCACHED_PORT', 11211),'weight' => 100,],],],'redis' => ['driver' => 'redis','connection' => 'cache',],'dynamodb' => ['driver' => 'dynamodb','key' => env('AWS_ACCESS_KEY_ID'),'secret' => env('AWS_SECRET_ACCESS_KEY'),'region' => env('AWS_DEFAULT_REGION', 'us-east-1'),'table' => env('DYNAMODB_CACHE_TABLE', 'cache'),'endpoint' => env('DYNAMODB_ENDPOINT'),],],/*|--------------------------------------------------------------------------| Cache Key Prefix|--------------------------------------------------------------------------|| When utilizing a RAM based store such as APC or Memcached, there might| be other applications utilizing the same cache. So, we'll specify a| value to get prefixed to all our keys so we can avoid collisions.|*/'prefix' => env('CACHE_PREFIX', Str::slug(env('APP_NAME', 'laravel'), '_').'_cache'),];

2)、緩存驅動

file - 將 Session 保存在 framework/cache/data 中。
cookie - Session 保存在安全加密的 Cookie 中。
database - Session 保存在關系型數據庫中。
memcached / redis - Sessions 保存在其中一個快速且基于緩存的存儲系統中。
array - Sessions 保存在 PHP 數組中,不會被持久化。

三、緩存操作

1)、設置緩存

Cache::put('key', 'value', $minutes);//將不存在于緩存中的數據放入緩存中,如果存放成功返回 true ,否則返回 false
Cache::add('key', 'value', $minutes);//數據永久存入緩存
Cache::forever('key', 'value');//獲取users緩存,如果不存在,執行第三個參數,將返回值存入緩存
$value = Cache::remember('userinfo', $minutes, function () {return DB::table('userinfo')->get();
});//獲取users緩存,如果不存在,執行第三個參數,將返回值存入緩存并永久儲存
$value = Cache::rememberForever('userinfo', function() {return DB::table('userinfo')->get();
});

2)、獲取緩存

$value = Cache::get('key')
//傳遞第二個參數,用來指定如果查找的數據不存在時,你希望返回的默認值
$value = Cache::get('key', 'default');
//第二個參數傳遞 Closure 作為默認值。如果指定的數據不存在于緩存中,將返回 Closure 的結果
$value = Cache::get('key', function () {return DB::table(...)->get();
});

3)、判斷緩存是否存在

//如果值為 null 或 不存在返回false
Cache::has('key')

4)、遞增遞減

Cache::increment('key');
Cache::increment('key', $num);
Cache::decrement('key');
Cache::decrement('key', $num);

5)、刪除

//從緩存中獲取到數據之后再刪除它,如果緩存中不存在該數據, 則返回 null
$value = Cache::pull('key');
//刪除緩存
Cache::forget('key');
//清空緩存
Cache::flush();

6)、使用多種緩存

$value = Cache::store('file')->get('foo');//獲取
Cache::store('redis')->put('bar', 'baz', 10);//設置

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/711862.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/711862.shtml
英文地址,請注明出處:http://en.pswp.cn/news/711862.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

Android在后臺讀取UVC攝像頭的幀數據流并推送

Android在后臺讀取UVC攝像頭的幀數據流并推送 添加UvcCamera依賴庫 使用原版的 saki4510t/UVCCamera 在預覽過程中斷開可能會閃退&#xff0c;這里使用的是 jiangdongguo/AndroidUSBCamera 中修改的版本&#xff0c;下載到本地即可。 https://github.com/jiangdongguo/AndroidU…

Rust學習筆記:基礎工具和基本名詞

不要用共享內存來通信&#xff0c;要用通信來共享內存 rustup: 一個用于管理 Rust 版本和相關工具的命令行工具 rustup update cargo: Rust 的構建系統和包管理工具 構建代碼下載依賴庫并構建下載庫 crate: 代碼包/庫 trait: 特性、功能 ///: 生成 html 格式的 doc&#…

CELL文獻速遞 | 了解微生物如何在社會中傳播并塑造我們的健康

谷禾健康 當人還是嬰兒時&#xff0c;會從父母那里得到微生物&#xff1b;和寵物玩耍或接觸時&#xff0c;也會從寵物那得到微生物&#xff1b;有時候人沒有直接和動物玩耍&#xff0c;只是接觸動物的糞便&#xff0c;甚至其他環境的微生物&#xff0c;都會交換微生物... 這些其…

智慧治水丨計訊物聯水利RTU助推小型水庫出險加固工程建設與管理

日前&#xff0c;水利部印發《關于健全小型水庫除險加固和運行管護機制的意見》&#xff08;以下簡稱《意見》&#xff09;&#xff0c;健全小型水庫除險加固和運行管護常態化機制&#xff0c;提高小型水庫安全管理水平。《意見》提出了“十四五”的兩大管理機制&#xff0c;通…

adb下載安裝及使用教程

adb下載安裝及使用教程 一、ADB的介紹1.ADB是什么&#xff1f;2.內容簡介3.ADB常用命令1. ADB查看設備2. ADB安裝軟件3. ADB卸載軟件4. ADB登錄設備shell5. ADB從電腦上發送文件到設備6. ADB從設備上下載文件到電腦7. ADB顯示幫助信息 4.為什么要用ADB 二、ADB的下載1.Windows版…

Flutter GetX 之 暗黑模式

我們緊接上篇文章,今天繼續講解一下強大的 GetX 的另一個功能,就是 暗黑模式 ,在iOS 13開始蘋果的應用慢慢的都開始適配 暗黑模式,andr。oid 也慢慢的 開始跟進,截止到目前,商店的大部分應用都已經完成了 暗黑模式 的適配。 原生開發為我們提供對應的 API,那么Flutter呢…

機器學習相關概念及術語總結

目錄 1.機器學習2.監督學習3.無監督學習4.線性回歸5.邏輯回歸 1.機器學習 機器學習的定義&#xff1a;一個計算機程序可從經驗E&#xff08;Experience&#xff09;中學習如何完成任務T&#xff08;Task&#xff09;&#xff0c;并且隨著經驗E的增加&#xff0c;性能指標P&…

Python中reduce函數和lambda表達式的學習

reduce函數將一個數據集合&#xff08;鏈表&#xff0c;元組等&#xff09;中的所有數據進行下列操作&#xff1a;用傳給 reduce 中的函數 function&#xff08;有兩個參數&#xff09;先對集合中的第 1、2 個元素進行操作&#xff0c;得到的結果再與第三個數據用 function 函數…

【論文精讀】DINOv2

摘要 學習與特定任務無關的預訓練表示已經成為自然語言處理的標準&#xff0c;這些表示不進行微調&#xff0c;即可在下游任務上明顯優于特定任務模型的性能。其主要得益于使用無監督語言建模目標對大量原始文本進行預訓練。 遵循NLP中的這種范式轉變&#xff0c;以探索計算機視…

iSlide插件2024免費版(包含52 個PPT設計輔助功能,9 大在線資源庫,以及超 50 萬 專業)

一、功能介紹 iSlide是一款專為PowerPoint設計的插件&#xff0c;它集合了眾多設計與效率提升的功能&#xff0c;幫助用戶更快速、更美觀地制作演示文稿。 主題設計&#xff1a;提供多種設計主題&#xff0c;用戶只需一鍵應用&#xff0c;即可為幻燈片賦予統一的視覺風格。智…

每次提出一個bug都讓測試重現,描述得那么清楚,自己操作下不會嗎?

一說到測試和開發的關系&#xff0c;你一定會想到一個詞“冤家”。 開發的工作就是按照PM的設計將產品最終造出來&#xff0c;而測試則是在開發已完成的工作里糾錯。so&#xff0c;測試的工作會讓開發很不爽&#xff0c;人之常情&#xff0c;誰都不喜歡自己的勞動成果被別人挑…

react路由基礎

1.目錄 A. 能夠說出React路由的作用 B. 能夠掌握react-router-dom的基本使用 C. 能夠使用編程式導航跳轉路由 D. 能夠知道React路由的匹配模式 2.目錄 A. React路由介紹 B. 路由的基本使用 C. 路由的執行過程 D. 編程式導航 E. 默認路由 F. 匹配模式 3.react路由介紹 現代…

開源項目:圖像分類技術在醫療影像分析中的應用與實踐

一、引言 在當今快速發展的醫療行業中&#xff0c;數字醫療正逐漸成為提升醫療服務質量和效率的關鍵力量。本項目旨在通過整合醫藥電商、遠程問診、慢病管理等多維度服務&#xff0c;為消費者和企業提供全面的醫療解決方案。項目的核心在于運用先進的圖像分類技術&#xff0c;以…

回歸測試:在不斷變化的環境中確保軟件的穩定性

軟件開發是一個復雜的過程&#xff0c;需要不斷變化和更新以滿足客戶不斷變化的需求&#xff0c;但它們也可能產生新問題或導致舊問題重新出現。這就是回歸測試的用武之地——它是在不斷變化的環境中確保軟件穩定性的重要組成部分。 在這篇文章中&#xff0c;我們將深入探討什…

第40期 | GPTSecurity周報

GPTSecurity是一個涵蓋了前沿學術研究和實踐經驗分享的社區&#xff0c;集成了生成預訓練Transformer&#xff08;GPT&#xff09;、人工智能生成內容&#xff08;AIGC&#xff09;以及大語言模型&#xff08;LLM&#xff09;等安全領域應用的知識。在這里&#xff0c;您可以找…

基于springboot + vue實現的前后端分離-在線旅游網站系統(項目 + 論文)

項目介紹 本旅游網站系統采用的數據庫是MYSQL &#xff0c;使用 JSP 技術開發&#xff0c;在設計過程中&#xff0c;充分保證了系統代碼的良好可讀性、實用性、易擴展性、通用性、便于后期維護、操作方便以及頁面簡潔等特點。 技術選型 后端: SpringBoot Mybatis 數據庫 : MyS…

Qt 使用windows注冊表保存設置

重點&#xff1a; 1.在構造函數中初始化&#xff0c;確認注冊表中的一個目錄 QApplication::setOrganizationName("WWB-Qt");QApplication::setApplicationName("samp7_5"); 只要使用下面語句定義變量setting QSettings setting 表示setting指向注冊表目…

UE5 文字游戲(1) 僅UI截圖轉換為texture2d(適用于window端)

目錄 需求 思路 1.截圖并讀取到本地 2.本地讀取圖片并轉換為紋理2d 效果展示 找了好多的解決辦法&#xff0c;都不管用。這個算是折中的。 需求 將當前的用戶控件&#xff08;ui&#xff09;截圖下來&#xff0c;并賦值到一個texture2d上。 我的需求&#xff1a;文字游戲…

初學JavaWeb開發總結

0 什么是Web開發 Web: 全球廣域網&#xff0c;又稱萬維網(www World Wide Web)&#xff0c;能夠通過瀏覽器訪問的網站。 Web開發&#xff0c;就是開發網站的&#xff0c;如&#xff1a;淘寶、京東等等。 1 網站的工作流程 流程&#xff1a; 瀏覽器先向前端服務器請求前端資…

Cesium 自定義Primitive-線

一、創作思路 1、創建一個自定義CustomPrimitive 2、可動態更新線的點位 3、方便后期繪制線 二、實現代碼 1、創建一個CustomPolylinePrimitive類,并加入更新的代碼 export default class CustomPolylinePrimitive {constructor(options) {this._props options;/*** 渲染列表…