PHP菜鸟博客_共同学习分享PHP技术心得【PHP爱好者】
thinkphp的sql缓存混乱问题field慎用
2025-6-12 菜鸟站长
$config = Db::table('plat_system_set')

    ->where('id', 1) // 简化条件,默认是'='比较

    ->field("ali_bucket_url, is_image_acceleration_domain, image_acceleration_domain, replaced_domain_str")

    ->cache("plat_system_set_key", config('cache.expire'), "plat") // 假设使用数组访问配置

    ->find();



 如果确实需要两个不同的结果集,请使用不同的缓存键

 $fullConfig = Db::table('plat_system_set')

     ->where('id', 1)

     ->cache("full_plat_system_set", config('cache.expire'), "plat")


     ->find();







一个包含所有字段,一个只包含部分字段,请使用不同的缓存键,如果使用相同的缓存键,会造成缓存值混乱。比如缓存到期了,先执行了上面的缓存值里面字段就很少,下面的执行的时候,好多字段娶不到。 所以注释掉上面的取出来部分字段即可。





发表评论:
昵称

邮件地址 (选填)

个人主页 (选填)

内容