【Laravel Cache】 配置redis 存储缓存,通俗易懂,一次就掌握
文章目录
- 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 存储缓存,通俗易懂,一次就掌握相关推荐
- SpringBoot集成Redis和配置Redis做缓存
Redis介绍 Redis是一个开源的.高性能的.基于键值对的缓存与存储系统,通过提供多种键值数据类型来适应不同场景下的缓存与存储需求,直观的存储结构使得通过程序交互十分简单. Redis数据库中所有 ...
- Spring Cache使用Redis自定义缓存key
一.什么是Spring Cache 从spring 3.1版本开始,提供了一种透明的方式来为现有的spring 应用添加cache.在应用层面与后端存储之间,提供了一层抽象,这层抽象目的在于封装各种可 ...
- spring boot 注解_Spring-Boot项目中如何配置redis注解缓存?
在pom中添加redis缓存支持依赖 <dependency><groupId>org.springframework.boot</groupId><arti ...
- Redis存储缓存工具类简单封装
一.公共实体类 (1)User.java package cn.xiyou.entity;import java.io.Serializable;/*** User实体* * @author XIOA ...
- 22-08-06 西安 尚医通(03)EasyExcel; Spring Cache 、Redis做缓存
EasyExcel EasyExcel:一行一行读取到内存 EasyExcel是阿里巴巴开源的一个excel处理框架,以使用简单.节省内存著称 POI:java里操作excel,读取.创建excel ...
- springboot整合spring @Cache和Redis
转载自 springboot整合spring @Cache和Redis spring基于注解的缓存 对于缓存声明,spring的缓存提供了一组java注解: @Cacheable:触发缓存写入. @ ...
- 缓存(cache、Redis)
缓存(Cache,Redis) 1.pom <?xml version="1.0" encoding="UTF-8"?> <project x ...
- Spring Boot 2 + Redis 对象缓存
依赖配置 <?xml version="1.0" encoding="UTF-8"?> <project xmlns="http:/ ...
- Springboot2.x使用redis作为缓存
一.Springboot2.x关于配置redis作为缓存. 基本配置如下: (1)在application.properties文件中 spring.redis.database=2 //第几个数据库 ...
最新文章
- 阿里机器学习算法面经(已offer)
- java开发程序员_Java大牛给入门Java开发程序员的10个学习建议
- 使用 ABAP 代码向百度网站发起请求并收到回应
- 文件设置索引_什么样的网站结构备受搜索引擎喜爱?
- 用mycat做读写分离:基于 MySQL主从复制
- 演练 小米商城 手机版块 0920
- MySQL删除命令_DELETE
- 难怪这个文章评论多,原来被推荐了
- (转载)数据库的三范式:我见过讲的最通俗易懂的三范式!!!
- 谷歌绝不会退出中国市场
- 什么是射频信号发生器?信号发生器具有哪些特点?(一)
- win7快捷关闭计算机,win7系统快速启动功能关闭的处理方法
- python图片比对、自动化测试_基于python+appium通过图片对比来做的UI自动化
- [高通SDM450][Android9.0]外接键盘闪屏以及默认使用虚拟键盘
- 美国L1签证和B1,E2签证的区别
- kubernetes缔造者Craig McLuckie谈:有效的产品管理
- 事后审计 vs 事前审批
- 2022第四届长安杯检材一wp
- 目标检测—安全帽检测实践
- 用RIO包健壮地读写