【fastadmin】利用后台清除缓存按钮,来清除自定义的缓存

该代码段定义了一个函数get_shopro_config用于获取Shopro系统的配置,并使用缓存优化。当缓存不存在时,从数据库中获取并存储到缓存中,设置了3600秒的过期时间。在后台,提供了一个Ajax接口wipecache,可以根据请求类型清理特定类型的缓存,如清空所有shopro_config标签的缓存。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

这里写自定义目录标题

业务处

if (!function_exists('get_shopro_config')) {
    function get_shopro_config($name, $field)
    {
        $cache_key = 'shopro_config_' . $name . '_' . $field;
        $cache_data = cache($cache_key);
        if (!empty($cache_data)) return $cache_data;
        $value = \think\Db::name('shopro_config')->where(['name' => $name])->value('value');
        if (empty($value)) {
            $config_value = '';
        } else {
            $value_arr = json_decode($value, true);
            if (!empty($value_arr[$field])) {
                $config_value = $value_arr[$field];
            } else {
                $config_value = '';
            }
        }
        \think\Cache::tag('shopro_config')->set($cache_key, $config_value, 3600);
        return $config_value;
    }
}

代码 \think\Cache::tag('shopro_config')->set($cache_key, $config_value, 3600);
对缓存进行设置标签,然后利用tp框架清除指定的标签缓存。

后台

application/admin/controller/Ajax.php文件修改

 /**
     * 清空系统缓存
     */
    public function wipecache()
    {
        try {
            $type = $this->request->request("type");
            switch ($type) {
                case 'all':
                    // no break
                    \think\Cache::clear('shopro_config');

代码 \think\Cache::clear('shopro_config');

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值