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

您的位置:首頁技術文章
文章詳情頁

Laravel操作redis和緩存操作詳解

瀏覽:76日期:2022-06-06 17:02:04
目錄
  • 一:操作redis
    • 1:redis拓展安裝
    • 2:配置redis
    • 3:操作redis
  • 二:緩存操作
    • 1:緩存配置
    • 2:緩存操作

一:操作redis

1:redis拓展安裝

composer require predis/predis

或者你也可以通過 PECL 安裝 PhpRedis PHP 擴展,安裝方法比較復雜,個人不推薦

2:配置redis

在config/database.php文件中配置redis

(1):單個redis配置

"redis" => [

    "client" => env("REDIS_CLIENT", "predis"),//別名,如果你安裝的是PhpRedis,將client值改為phpredis

    "default" => [
"host" => env("REDIS_HOST", "127.0.0.1"),//redis服務器主機
"password" => env("REDIS_PASSWORD", null),//redis服務器密碼
"port" => env("REDIS_PORT", 6379),//redis服務器端口
"database" => env("REDIS_DB", 0),
    ],

    "cache" => [
"host" => env("REDIS_HOST", "127.0.0.1"),//redis服務器主機
"password" => env("REDIS_PASSWORD", null),//redis服務器密碼
"port" => env("REDIS_PORT", 6379),//redis服務器端口
"database" => env("REDIS_CACHE_DB", 1),
    ],

],

(2):redis集群配置

"redis" => [

    "client" => env("REDIS_CLIENT", "predis"),

    "clusters" => [
"default" => [
    [
"host" => env("REDIS_HOST", "localhost"),
"password" => env("REDIS_PASSWORD", null),
"port" => env("REDIS_PORT", 6379),
"database" => 0,
    ],
],
    ],

],

3:操作redis

(1):設置redis

Redis::set("val1","asdasd");

(2):獲取redis

Redis::get("key")

(3):刪除redis

Redis::del("key");

二:緩存操作

1:緩存配置

laravel框架的緩存配置在config/cache.php文件中,配置參數有:

(1):配置cache的驅動

"default" => env("CACHE_DRIVER", "file")

Laravel 自帶了幾個不錯且可開箱即用的驅動

• file - 將 Session 保存在 framework/cache/data 中。

• cookie - Session 保存在安全加密的 Cookie 中。

• database - Session 保存在關系型數據庫中。

• memcached / redis - Sessions 保存在其中一個快速且基于緩存的存儲系統中。

• array - Sessions 保存在 PHP 數組中,不會被持久化。

(2):根據你所選的驅動配置

"stores" => [

"apc" => [
    "driver" => "apc",
],

"array" => [
    "driver" => "array",
],

"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"),
],

    ],

• 如果你選擇了的database作為驅動的時,就需要修改stores內的database配置

"database" => [
    "driver" => "database",
    "table" => "cache",//配置的緩存表名
    "connection" => null,//連接名,這個是在config/database.php文件配置的,不進行配置使用默認連接的數據庫
],

你選擇了database作為緩存驅動的話,在目錄命令行執行

php artisan cache:table
php artisan migrate

這時候會在數據庫生成一個cache表用于存儲緩存數據

• 如果你選擇了file作為驅動時,就需要修改stores內的file配置

"file" => [
    "driver" => "file",
    "path" => storage_path("framework/cache/data"),//這里配置的是緩存數據保存地址
],

• 如果你選擇了redis作為驅動時,就需要修改stores內的redis配置

"redis" => [
    "driver" => "redis",
    "connection" => "default",//redis的連接名,對應config/database.php文件的redis配置,如果不進行配置使用默認的redis連接配置
],

2:緩存操作

(1):設置緩存

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

//將不存在于緩存中的數據放入緩存中,如果存放成功返回 true ,否則返回 false
Cache::add("key", "value", $minutes);

//數據永久存入緩存
Cache::forever("key", "value");

//獲取users緩存,如果不存在,執行第三個參數,將返回值存入緩存
$value = Cache::remember("users", $minutes, function () {
    return DB::table("users")->get();
});

//獲取users緩存,如果不存在,執行第三個參數,將返回值存入緩存并永久儲存
$value = Cache::rememberForever("users", function() {
    return DB::table("users")->get();
});

(2):獲取緩存

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

//傳遞第二個參數,用來指定如果查找的數據不存在時,你希望返回的默認值
$value = Cache::get("key", "default");

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

//判斷緩存是否存在,如果值為 null 或 不存在返回false
Cache::has("key")

(3):刪除緩存

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

(4):緩存遞增遞減

increment 和 decrement 方法可以用來調整高速緩存中整數項的值。這兩個方法都可以傳入第二個可選參數,用來指示要遞增或遞減值的數量

注意:使用increment和decrement前提對應的緩存之前必須有緩存數據,不然返回NULL

Cache::increment("key");
Cache::increment("key", 2);
Cache::decrement("key");
Cache::decrement("key", 2);

(5):使用多種緩存方式

如果你想要使用多種緩存,你可以使用下面這種形式操作緩存,其他方法同理

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

以上就是Laravel操作redis和緩存操作詳解的詳細內容,更多關于Laravel操作redis 緩存操作的資料請關注其它相關文章!

標簽: PHP
主站蜘蛛池模板: 铝机箱_铝外壳加工_铝外壳厂家_CNC散热器加工-惠州市铂源五金制品有限公司 | 伟秀电气有限公司-10kv高低压开关柜-高低压配电柜-中置柜-充气柜-欧式箱变-高压真空断路器厂家 | 碎石机设备-欧版反击破-欧版颚式破碎机(站)厂家_山东奥凯诺机械 高低温试验箱-模拟高低温试验箱订制-北京普桑达仪器科技有限公司【官网】 | 土壤水分自动监测站-SM150便携式土壤水分仪-铭奥仪器 | 钢衬四氟管道_钢衬四氟直管_聚四氟乙烯衬里管件_聚四氟乙烯衬里管道-沧州汇霖管道科技有限公司 | 耐腐蚀泵,耐腐蚀真空泵,玻璃钢真空泵-淄博华舜耐腐蚀真空泵有限公司 | Trimos测长机_测高仪_TESA_mahr,WYLER水平仪,PWB对刀仪-德瑞华测量技术(苏州)有限公司 | 菲希尔FISCHER测厚仪-铁素体检测仪-上海吉馨实业发展有限公司 | 手术示教系统-数字化手术室系统-林之硕医疗云智能视频平台 | 食品质构分析仪-氧化诱导分析仪-瞬态法导热系数仪|热冰百科 | 展厅装修公司|企业展厅设计|展厅制作|展厅搭建—广州展厅装饰公司 | 矿用履带式平板车|探水钻机|气动架柱式钻机|架柱式液压回转钻机|履带式钻机-启睿探水钻机厂家 | 中国产业发展研究网 - 提供行业研究报告 可行性研究报告 投资咨询 市场调研服务 | 合肥抖音SEO网站优化-网站建设-网络推广营销公司-百度爱采购-安徽企匠科技 | 充气膜专家-气膜馆-PTFE膜结构-ETFE膜结构-商业街膜结构-奥克金鼎 | 微量水分测定仪_厂家_卡尔费休微量水分测定仪-淄博库仑 | 消防泵-XBD单级卧式/立式消防泵-上海塑泉泵阀(集团)有限公司 | 临时厕所租赁_玻璃钢厕所租赁_蹲式|坐式厕所出租-北京慧海通 | 工业车间焊接-整体|集中除尘设备-激光|等离子切割机配套除尘-粉尘烟尘净化治理厂家-山东美蓝环保科技有限公司 | 高铝矾土熟料_细粉_骨料_消失模_铸造用铝矾土_铝酸钙粉—嵩峰厂家 | 中矗模型-深圳中矗模型设计有限公司 | 噪声治理公司-噪音治理专业隔音降噪公司 | 阴离子_阳离子聚丙烯酰胺厂家_聚合氯化铝价格_水处理絮凝剂_巩义市江源净水材料有限公司 | 河南道路标志牌_交通路标牌_交通标志牌厂家-郑州路畅交通 | 次氯酸钠厂家,涉水级次氯酸钠,三氯化铁生产厂家-淄博吉灿化工 | 铝合金风口-玻璃钢轴流风机-玻璃钢屋顶风机-德州东润空调设备有限公司 | 深圳市超时尚职业培训学校,培训:月嫂,育婴,养老,家政;化妆,美容,美发,美甲. | 广州番禺搬家公司_天河黄埔搬家公司_企业工厂搬迁_日式搬家_广州搬家公司_厚道搬迁搬家公司 | 2025黄道吉日查询、吉时查询、老黄历查询平台- 黄道吉日查询网 | 全自动真空上料机_粉末真空上料机_气动真空上料机-南京奥威环保科技设备有限公司 | 同学聚会纪念册制作_毕业相册制作-成都顺时针宣传画册设计公司 | 杭州翻译公司_驾照翻译_专业人工翻译-杭州以琳翻译有限公司官网 组织研磨机-高通量组织研磨仪-实验室多样品组织研磨机-东方天净 | 杭州营业执照代办-公司变更价格-许可证办理流程_杭州福道财务管理咨询有限公司 | 吹田功率计-长创耐压测试仪-深圳市新朗普电子科技有限公司 | 飞扬动力官网-广告公司管理软件,广告公司管理系统,喷绘写真条幅制作管理软件,广告公司ERP系统 | 意大利Frascold/富士豪压缩机_富士豪半封闭压缩机_富士豪活塞压缩机_富士豪螺杆压缩机 | 真空泵维修保养,普发,阿尔卡特,荏原,卡西亚玛,莱宝,爱德华干式螺杆真空泵维修-东莞比其尔真空机电设备有限公司 | 截齿|煤截齿|采煤机截齿|掘进机截齿|旋挖截齿-山东卓力截齿厂家报价 | 破碎机锤头_耐磨锤头_合金锤头-鼎成机械一站式耐磨铸件定制服务 微型驱动系统解决方案-深圳市兆威机电股份有限公司 | 跨境物流_美国卡派_中大件运输_尾程派送_海外仓一件代发 - 广州环至美供应链平台 | 钛板_钛管_钛棒_钛盘管-无锡市盛钛科技有限公司 |