文章目录

  • 1. 配置缓存 /config/cache.php
    • 配置缓存驱动是什么?(即 CACHE_DRIVER="stores 中的key")
    • 配置stores中具体的模块
    • 配置缓存key值的前缀(即 CACHE_PREFIX)
  • 2. 配置redis,即配置 config/database.php
  • 3. 使用Cache
  • 4. 高级操作,加锁

1. 配置缓存 /config/cache.php

配置缓存驱动是什么?(即 CACHE_DRIVER=“stores 中的key”)

配置stores中具体的模块

配置缓存key值的前缀(即 CACHE_PREFIX)

return [
'default' => env('CACHE_DRIVER', 'file'),'stores' => [....省略内容....'redis' => ['driver' => 'redis','connection' => 'cache',  # 对应 config/database.php 中的redis.cache 内容],....省略内容....],# 配置前缀地址
'prefix' => env('CACHE_PREFIX', Str::slug(env('APP_NAME', 'laravel'), '_').'_cache'),
];

2. 配置redis,即配置 config/database.php

'redis' => [....省略内容....# 配置此项,连接redis 服务器'cache' => [   'url' => env('REDIS_URL'),'host' => env('REDIS_HOST', '127.0.0.1'),'password' => env('REDIS_PASSWORD', null),'port' => env('REDIS_PORT', 6379),'database' => env('REDIS_CACHE_DB', 1),  # redis 数据库 1   redis-cli > select 1],],

至此,根据上述内容,我们知道了 cache 使用redis 存储的过程之后,把对应配置项写入的 .env 环境配置中
执行php artisan config:cache --env=<环境名称> 即可

3. 使用Cache

use Illuminate\Support\Facades\Cache;

# 简单使用
# 添加# 返回值:Boolean# 只会在缓存项不存在的情况下添加缓存项到缓存,如果缓存项被添加到缓存返回true,否则,返回false# 60 为过期时间 60秒Cache::add('key', 'value', 60); # 60秒# 缓存中存储缓存项的时候,你需要指定数据被缓存的时间(分钟数)Cache::put('key', 'value', 5); # 5分钟# 持久化Cache::forever('key', 'value');# 获取
$value = Cache::get('key');

4. 高级操作,加锁

说明:只有 redis、memcached、dynamodb可以使用加锁操作

if (Cache::has($cacheKey)) {$res = Cache::get($cacheKey);Log::info("{$cacheKey} is existed!!");return $res;
}
$res = Cache::lock($cacheKey)->get(function () use ($params) {// 获取无限期锁并自动释放...# 执行业务逻辑return self::sendGetRequest($params);
});
$isAddSuccess = Cache::add($cacheKey, $res, 1 * 60);
Log::info("{$cacheKey} :{$isAddSuccess}");

【Laravel Cache】 配置redis 存储缓存,通俗易懂,一次就掌握相关推荐

  1. SpringBoot集成Redis和配置Redis做缓存

    Redis介绍 Redis是一个开源的.高性能的.基于键值对的缓存与存储系统,通过提供多种键值数据类型来适应不同场景下的缓存与存储需求,直观的存储结构使得通过程序交互十分简单. Redis数据库中所有 ...

  2. Spring Cache使用Redis自定义缓存key

    一.什么是Spring Cache 从spring 3.1版本开始,提供了一种透明的方式来为现有的spring 应用添加cache.在应用层面与后端存储之间,提供了一层抽象,这层抽象目的在于封装各种可 ...

  3. spring boot 注解_Spring-Boot项目中如何配置redis注解缓存?

    在pom中添加redis缓存支持依赖 <dependency><groupId>org.springframework.boot</groupId><arti ...

  4. Redis存储缓存工具类简单封装

    一.公共实体类 (1)User.java package cn.xiyou.entity;import java.io.Serializable;/*** User实体* * @author XIOA ...

  5. 22-08-06 西安 尚医通(03)EasyExcel; Spring Cache 、Redis做缓存

    EasyExcel EasyExcel:一行一行读取到内存 EasyExcel是阿里巴巴开源的一个excel处理框架,以使用简单.节省内存著称 POI:java里操作excel,读取.创建excel ...

  6. springboot整合spring @Cache和Redis

    转载自  springboot整合spring @Cache和Redis spring基于注解的缓存 对于缓存声明,spring的缓存提供了一组java注解: @Cacheable:触发缓存写入. @ ...

  7. 缓存(cache、Redis)

    缓存(Cache,Redis) 1.pom <?xml version="1.0" encoding="UTF-8"?> <project x ...

  8. Spring Boot 2 + Redis 对象缓存

    依赖配置 <?xml version="1.0" encoding="UTF-8"?> <project xmlns="http:/ ...

  9. Springboot2.x使用redis作为缓存

    一.Springboot2.x关于配置redis作为缓存. 基本配置如下: (1)在application.properties文件中 spring.redis.database=2 //第几个数据库 ...

最新文章

  1. 阿里机器学习算法面经(已offer)
  2. java开发程序员_Java大牛给入门Java开发程序员的10个学习建议
  3. 使用 ABAP 代码向百度网站发起请求并收到回应
  4. 文件设置索引_什么样的网站结构备受搜索引擎喜爱?
  5. 用mycat做读写分离:基于 MySQL主从复制
  6. 演练 小米商城 手机版块 0920
  7. MySQL删除命令_DELETE
  8. 难怪这个文章评论多,原来被推荐了
  9. (转载)数据库的三范式:我见过讲的最通俗易懂的三范式!!!
  10. 谷歌绝不会退出中国市场
  11. 什么是射频信号发生器?信号发生器具有哪些特点?(一)
  12. win7快捷关闭计算机,win7系统快速启动功能关闭的处理方法
  13. python图片比对、自动化测试_基于python+appium通过图片对比来做的UI自动化
  14. [高通SDM450][Android9.0]外接键盘闪屏以及默认使用虚拟键盘
  15. 美国L1签证和B1,E2签证的区别
  16. kubernetes缔造者Craig McLuckie谈:有效的产品管理
  17. 事后审计 vs 事前审批
  18. 2022第四届长安杯检材一wp
  19. 目标检测—安全帽检测实践
  20. 用RIO包健壮地读写

热门文章

  1. Graphviz之DT:手把手教你使用可视化工具Graphviz将dot文件转为结构图的pdf文件
  2. CodeForces1082G Petya and Graph 最小割
  3. Linux 下crontab简单使用
  4. linux中vim常用命令总结
  5. 嵌套的Try-Catch块--------异常处理(3)
  6. win7 IIS7.5配置伪静态
  7. MD3200扩展柜MD1200,玩起
  8. 用《叩响C#之门》复习C#基础知识 第五章 枚举、结构体和数组
  9. 数据库基本----SQL语句大全
  10. STM32定时器学习---基本定时器