PHP Laravel框架缓存操作介绍

目录

Laravel为不同的缓存系统封装了统一的API,缓存配置文件./config/cache.php

主要的缓存类型(驱动)

  • file – 文件,默认使用
  • memcached – memcached
  • redis – redis
  • database – 数据库

默认laravel支持缓存介质:apc, array, database, file, memcached, redis

在配置文件.env中修改驱动类型

CACHE_DRIVER=file

设置缓存

use Illuminate\\Support\\Facades\\Cache; // Cache门面
# 添加 如果key不存在则添加成功,如果key存在,返回false
Cache::add(\'key\', \'value\', $seconds);
# 设置 不管key值是否存,都可以设置成功
Cache::put(\'key\', \'value\', $seconds);
# 设置永久缓存
Cache::forever(\'key\', \'value\');

文件所生成的地方在 ./storage/framework/cache/data/ 目录下

获取缓存数据

$value = Cache::get(\'key\');
$value = Cache::get(\'key\', \'default\');
$value = Cache::get(\'key\', function(){});
# 获取的同时并存储
$value = Cache::remember(\'users\', $minutes, function () {
  return \'key不存的时候返回的数据\';
});

检查缓存项是否存在

# 检查缓存的key值是否存在,存在返回true否则返回false
Cache::has(\'key\')

删除缓存数据

# 先获取再删除
$value = Cache::pull(\'key\');
# 删除单个
Cache::forget(\'key\');
# 清除所有的缓存
Cache::flush();

缓存辅助函数

除了使用 Cache 门面或缓存契约,还可以使用全局的 cache() 函数来通过缓存获取和存储数据。当带有一个字符串参数的 cache() 函数被调用时,会返回给定键对应的缓存值(取值):

$value = cache(\'key\');

如果你提供了键值对数组和一个过期时间给该函数,则会在指定的有效期内存储缓存值(存储):

cache([\'key\' => \'value\'], $seconds);
cache([\'key\' => \'value\'], now()->addMinutes(10));

cache() 函数不带任何参数被调用时会返回 Illuminate\\Contracts\\Cache\\Factory 实现的实例,从而允许你调用其它缓存方法:

cache()->remember(\'users\', $seconds, function () {
    return DB::table(\'users\')->get();
});
© 版权声明
THE END
喜欢就支持一下吧
点赞0 分享
评论 抢沙发

请登录后发表评论

    暂无评论内容