🔥码云GVP开源项目 12k star Uniapp+ElementUI 功能强大 支持多语言、二开方便! 广告
## 缓存 在`FastAdmin`插件开发中如需使用缓存,可以使用`ThinkPHP`中自带的缓存机制进行数据的缓存。 ### 设置缓存 可以采用以下两种方式设置缓存,注意在插件中使用缓存,必须使用`tag`方法用于区分插件的缓存。 ~~~php //直接调用Cache的set方法 \think\Cache::tag('插件标识')->set('缓存标识','缓存数据', '缓存时长'); //使用辅助函数 cache("缓存标识", "缓存数据", "缓存时长", "插件标识"); //示例,在插件标识为mydemo下缓存一个名称为name1,数据为value1的缓存数据 //直接调用Cache的set方法 \think\Cache::tag('mydemo')->set('name1','value1', 3600); //使用辅助函数 cache("name1", "value1", 3600, "mydemo"); ~~~ ### 读取缓存 可以采用以下两种方式读取缓存,注意在插件中使用缓存,必须使用`tag`方法用于区分插件的缓存。 ~~~php //直接调用Cache的get方法 \think\Cache::tag('插件标识')->get('缓存标识'); //使用辅助函数 cache("?缓存标识", "", null, "插件标识"); //示例,在插件标识为mydemo下获取缓存名称为name1的数据 //直接调用Cache的get方法 \think\Cache::tag('mydemo')->get('name1'); //使用辅助函数 cache("?name1", "", null, "mydemo"); ~~~ ### 删除缓存 ~~~css //删除插件标识mydemo下的指定name1缓存数据 \think\Cache::tag('mydemo')->rm('name1'); // 删除插件标识为mydemo下的所有缓存数据 \think\Cache::clear('mydemo'); ~~~ ### SQL数据缓存 ~~~css //获取并设置缓存 \think\Db::name('mydemo_list')->cache('sqlname1', 60, 'mydemo')->select([1, 3, 5]); //更新数据库并清除缓存 \think\Db::name('mydemo_list')->cache('sqlname1', 60, 'mydemo')->update(['id'=>1, 'name'=>'thinkphp']); //获取更新后的缓存数据 \think\Db::name('mydemo_list')->cache('sqlname1', 60, 'mydemo')->select([1, 5]); ~~~ ### 温馨提示 在应用插件中使用缓存,务必给缓存打标签,用于区分缓存,缓存的标签务必使用`应用插件标识`