本节课我们来学习一下系统提供的缓存功能,实现缓存的写入和读取。
一.缓存功能
1. 系统内置了很多类型的缓存,除了 File ,其它均需要结合相关产品; 2. 我们这里主要演示 File 文本缓存,其它的需要学习相关产品; 3.
配置文件 cache.php 进行缓存配置,默认生成在 runtime/cache 目录; 4. ::set() 方法,可以设置一个缓存,参数三为过期时间;
Cache::set('user', 'Mr.Lee'); Cache::set('user', 'Mr.Lee', 3600);
5. ::has() 方法,判断缓存是否存在,返回布尔值; Cache::has('user');
6. ::get() 方法,从缓存中获取到相应的数据,无数据返回 null ; Cache::get('user');
7. ::inc() 和 ::dec() 实现缓存数据的自增和自减操作; Cache::inc('num'); Cache::inc('price',
3); Cache::dec('num'); Cache::dec('price', 3);
8. ::push() 实现缓存的数组数据追加的功能; Cache::set('arr', [1,2,3]); Cache::push('arr', 4);
9. ::delete() 方法,可以删除指定的缓存文件; Cache::delete('user');
10. ::pull() 方法,先获取缓存值,然后再删除掉这个缓存,无数据返回 null ; Cache::pull('user');
11. ::remember() 方法,如果数据不存在,则写入数据,可以依赖注入; Cache::remember('start_time',
time()); Cache::remember('start_time', function (Request $request) {})
12. ::clear() 方法,可以清除所有缓存; Cache::clear();
13. ::tag() 标签,可以将多个缓存归类到标签中,方便统一管理,比如清除; Cache::tag('tag')->set('user',
'Mr.Lee'); Cache::tag('tag')->set('age', 20); Cache::tag('tag')->clear();
14. 助手函数的使用: cache() ; //设置缓存 cache('user', 'Mr.Lee', 3600); //输出缓存 echo
cache('user'); //删除指定缓存 cache('user', null);