服务器测评网
我们一直在努力

thinkphp8 查询数据库后加缓存

为你的 getPaymentList 方法增加缓存,你可以利用 ThinkPHP 的缓存机制。你可以使用 Cache::remember 方法来进行缓存。下面是优化后的代码:

use think\facade\Cache;

public static function getPaymentList()
{
    return Cache::remember('payment_list', function () {
        return self::where('status', '=', '1')
            ->order('id asc')
            ->field('id,title')
            ->select();
    }, 3600); // 3600秒 = 1小时
}

在这个例子中:

  1. Cache::remember 会首先检查缓存中是否有键名为 'payment_list' 的缓存。
  2. 如果有,它会直接返回缓存内容。
  3. 如果没有,它会执行提供的闭包函数来获取数据,并将其缓存,缓存时间为 3600 秒(即 1 小时)。
  4. 你可以根据需要调整缓存时间。

另外,如果你想在其他地方更容易清除这个缓存,可以考虑将 'payment_list' 放入一个类常量中。这样可以更好地维护代码:

use think\facade\Cache;

class YourModel extends Model
{
    const PAYMENT_LIST_CACHE_KEY = 'payment_list';

    public static function getPaymentList()
    {
        return Cache::remember(self::PAYMENT_LIST_CACHE_KEY, function () {
            return self::where('status', '=', '1')
                ->order('id asc')
                ->field('id,title')
                ->select();
        }, 3600);
    }

    public static function clearPaymentListCache()
    {
        Cache::delete(self::PAYMENT_LIST_CACHE_KEY);
    }
}

在这个优化后的代码中:

  1. 我们使用 PAYMENT_LIST_CACHE_KEY 作为缓存键。
  2. 提供了一个 clearPaymentListCache 方法来清除缓存。
赞(0) 打赏
未经允许不得转载:好主机测评网 » thinkphp8 查询数据库后加缓存

评论 1

  1. #1

    稳,老铁

    Sunny9个月前 (06-08)回复

觉得文章有用就打赏一下文章作者

非常感谢你的打赏,我们将继续提供更多优质内容,让我们一起创建更加美好的网络世界!

支付宝扫一扫

微信扫一扫