电脑知识|欧美黑人一区二区三区|软件|欧美黑人一级爽快片淫片高清|系统|欧美黑人狂野猛交老妇|数据库|服务器|编程开发|网络运营|知识问答|技术教程文章 - 好吧啦网

您的位置:首頁技術(shù)文章
文章詳情頁

PHP laravel緩存cache機制詳解

瀏覽:120日期:2022-06-06 08:50:57
目錄
  • 一、訪問多個緩存存儲
  • 二、從緩存中獲取數(shù)據(jù)
    • 1.獲取數(shù)據(jù)并設(shè)置默認值
    • 2.檢查緩存項是否存在
    • 3.數(shù)值增加/減少
    • 4.獲取 & 存儲
    • 5.獲取 & 刪除
  • 三、緩存中存儲數(shù)據(jù)
    • 1.獲取存儲數(shù)據(jù)
    • 2.緩存不存在時存儲數(shù)據(jù)
    • 3.永久存儲數(shù)據(jù)
  • 四、從緩存中移除數(shù)據(jù)

    Laravel中的cache為我們提供了三種緩存機制。

    Redis,memcache,以及框架的文件緩存。

    這里主要看的是cache中的文件緩存。

    一、訪問多個緩存存儲

    使用 Cache 門面,你可以使用 store 方法訪問不同的緩存存儲器,傳入 store 方法的鍵就是 cache 配置文件中 stores 配置數(shù)組里列出的相應(yīng)的存儲器:

    $value = Cache::store("file")->get("foo");
    Cache::store("redis")->put("bar", "baz", 600);  // 10分鐘
    

    二、從緩存中獲取數(shù)據(jù)

    1.獲取數(shù)據(jù)并設(shè)置默認值

    (1):正常取值

    $value = Cache::get("key");
    

    (2):如果不存在,附默認值

    $value = Cache::get("key", "default");

    (3):使用閉包操作,附默認值

    $value = Cache::get("key", function() {
        return DB::table(...)->get();
    });
    

    2.檢查緩存項是否存在

    has 方法用于判斷緩存項是否存在,如果值為 null 或 false 該方法會返回 false:

    if (Cache::has("key")) {
        //
    }
    

    3.數(shù)值增加/減少

    increment 和 decrement 方法可用于調(diào)整緩存中的整型數(shù)值。這兩個方法都可以接收第二個參數(shù)來指明緩存項數(shù)值增加和減少的數(shù)目:

    Cache::increment("key");
    Cache::increment("key", $amount);
    Cache::decrement("key");
    Cache::decrement("key", $amount);
    

    4.獲取 & 存儲

    有時候你可能想要獲取緩存項,但如果請求的緩存項不存在時給它存儲一個默認值。例如,你可能想要從緩存中獲取所有用戶,或者如果它們不存在的話,從數(shù)據(jù)庫獲取它們并將其添加到緩存中,你可以通過使用 Cache::remember 方法實現(xiàn):

    $value = Cache::remember("users", $seconds, function() {
        return DB::table("users")->get();
    });
    

    如果緩存項不存在,傳遞給 remember 方法的閉包被執(zhí)行并且將結(jié)果存放到緩存中。

    你還可以使用 rememberForever 方法從緩存中獲取數(shù)據(jù)或者將其永久存儲起來:

    $value = Cache::rememberForever("users", function() {
        return DB::table("users")->get();
    });

    5.獲取 & 刪除

    如果你需要從緩存中獲取緩存項然后刪除,你可以使用 pull 方法,和 get 方法一樣,如果緩存項不存在的話返回 null:

    $value = Cache::pull("key");
    

    三、緩存中存儲數(shù)據(jù)

    1.獲取存儲數(shù)據(jù)

    你可以使用 Cache 門面上的 put 方法在緩存中存儲數(shù)據(jù)。當(dāng)你在緩存中存儲數(shù)據(jù)的時候,需要指定數(shù)據(jù)被緩存的時間(秒數(shù)):

    Cache::put("key", "value", $seconds);
    

    如果沒有傳遞緩存時間到 put 方法,則緩存項永久有效:

    Cache::put("key", "value");
    

    除了傳遞緩存項失效時間,你還可以傳遞一個代表緩存項有效時間的 PHP Datetime 實例:

    $expiresAt = Carbon::now()->addMinutes(10);
    Cache::put("key", "value", $expiresAt);
    

    2.緩存不存在時存儲數(shù)據(jù)

    add 方法只會在緩存項不存在的情況下添加數(shù)據(jù)到緩存,如果數(shù)據(jù)被成功添加到緩存返回 true,否則,返回 false:

    Cache::add("key", "value", $seconds);
    

    3.永久存儲數(shù)據(jù)

    forever 方法用于持久化存儲數(shù)據(jù)到緩存,這些值必須通過 forget 方法手動從緩存中移除:

    Cache::forever("key", "value");
    

    四、從緩存中移除數(shù)據(jù)

    可以使用 Cache 門面上的 forget 方法從緩存中移除緩存項數(shù)據(jù):

    Cache::forget("key");
    

    還可以通過設(shè)置緩存有效期為 0 或負數(shù)來移除緩存項:

    Cache::put("key", "value", 0);
     
    Cache::put("key", "value", -5);
    

    如果要清除所有緩存,可以通過 flush 方法:

    Cache::flush();
    

    以上基本上就是laravel框架對文件緩存的操作方法

    到此這篇關(guān)于PHP laravel緩存cache機制詳解的文章就介紹到這了,更多相關(guān)PHP laravel緩存內(nèi)容請搜索以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持!

    標簽: PHP
    主站蜘蛛池模板: 武汉刮刮奖_刮刮卡印刷厂_为企业提供门票印刷_武汉合格证印刷_现金劵代金券印刷制作 - 武汉泽雅印刷有限公司 | 昆山PCB加工_SMT贴片_PCB抄板_线路板焊接加工-昆山腾宸电子科技有限公司 | 礼堂椅厂家|佛山市艺典家具有限公司 | 整合营销推广|营销网络推广公司|石家庄网站优化推广公司|智营销 好物生环保网、环保论坛 - 环保人的学习交流平台 | 钛板_钛管_钛棒_钛盘管-无锡市盛钛科技有限公司 | 超声波乳化机-超声波分散机|仪-超声波萃取仪-超声波均质机-精浩机械|首页 | 精密机械零件加工_CNC加工_精密加工_数控车床加工_精密机械加工_机械零部件加工厂 | 自动部分收集器,进口无油隔膜真空泵,SPME固相微萃取头-上海楚定分析仪器有限公司 | 陕西安玻璃自动感应门-自动重叠门-磁悬浮平开门厂家【捷申达门业】 | 井式炉-台车式回火炉-丹阳市电炉厂有限公司 | 全自动端子机|刺破式端子压接机|全自动双头沾锡机|全自动插胶壳端子机-东莞市傅氏兄弟机械设备有限公司 | 篷房[仓储-婚庆-展览-活动]生产厂家-江苏正德装配式帐篷有限公司 | 无纺布包装机|径向缠绕包装机|缠绕膜打包机-上海晏陵智能设备有限公司 | 求是网 - 思想建党 理论强党 | 排烟防火阀-消防排烟风机-正压送风口-厂家-价格-哪家好-德州鑫港旺通风设备有限公司 | 在线浊度仪_悬浮物污泥浓度计_超声波泥位计_污泥界面仪_泥水界面仪-无锡蓝拓仪表科技有限公司 | 全自动五线打端沾锡机,全自动裁线剥皮双头沾锡机,全自动尼龙扎带机-东莞市海文能机械设备有限公司 | 医学动画公司-制作3d医学动画视频-医疗医学演示动画制作-医学三维动画制作公司 | 骨密度检测仪_骨密度分析仪_骨密度仪_动脉硬化检测仪专业生产厂家【品源医疗】 | 溶氧传感器-pH传感器|哈美顿(hamilton) | 列管冷凝器,刮板蒸发器,外盘管反应釜厂家-无锡曼旺化工设备有限公司 | 篷房[仓储-婚庆-展览-活动]生产厂家-江苏正德装配式帐篷有限公司 | 广西教师资格网-广西教师资格证考试网 | 杭州网络公司_百度SEO优化-外贸网络推广_抖音小程序开发-杭州乐软科技有限公司 | 反渗透水处理设备|工业零排放|水厂设备|软化水设备|海南净水设备--海南水处理设备厂家 | 2025第九届世界无人机大会| 执业药师报名条件,考试时间,考试真题,报名入口—首页 | 灰板纸、灰底白、硬纸板等纸品生产商-金泊纸业 | 纯水电导率测定仪-万用气体检测仪-低钠测定仪-米沃奇科技(北京)有限公司www.milwaukeeinst.cn 锂辉石检测仪器,水泥成分快速分析仪-湘潭宇科分析仪器有限公司 手术室净化装修-手术室净化工程公司-华锐手术室净化厂家 | 体视显微镜_荧光生物显微镜_显微镜报价-微仪光电生命科学显微镜有限公司 | ET3000双钳形接地电阻测试仪_ZSR10A直流_SXJS-IV智能_SX-9000全自动油介质损耗测试仪-上海康登 | 高速龙门架厂家_监控杆_多功能灯杆_信号灯杆_锂电池太阳能路灯-鑫世源照明 | 天津暖气片厂家_钢制散热器_天津铜铝复合暖气片_维尼罗散热器 | 工业制氮机_psa制氮机厂家-宏骁智能装备科技江苏有限公司 | 无锡市珂妮日用化妆品有限公司|珂妮日化官网|洗手液厂家 | 英国公司注册-新加坡公司注册-香港公司开户-离岸公司账户-杭州商标注册-杭州优创企业 | 蒸汽吸附分析仪-进口水分活度仪|康宝百科 | 盘煤仪,盘料仪,盘点仪,堆料测量仪,便携式激光盘煤仪-中科航宇(北京)自动化工程技术有限公司 | 广州印刷厂_广州彩印厂-广州艺彩印务有限公司 | 塑胶地板-商用PVC地板-pvc地板革-安耐宝pvc塑胶地板厂家 | 深圳3D打印服务-3D打印加工-手板模型加工厂-悟空打印坊 |