当前位置:懋和道人 > 文章 > 技术 > Discuz Q 回复非常卡临时解决方案

Discuz Q 回复非常卡临时解决方案

懋和道人2年前 (2022-11-22)技术4781
文章摘要
DaoGPT
分析故障原因:因为Discuzq每次发帖或回复都会统计一次,post表过大的情况下,会卡住 临时解决方法:文件路径 \app\Observer\PostObserver.php 内搜索“刷新站点回复数”/*** 刷新站点回复数*/    private function refreshSitePostCount()    {        $this->settings->set(            'post_count',            Post::query()   &...
此内容根据文章AI生成,并经过人工审核,仅用于文章内容的解释与总结
投诉

分析故障原因:因为discuzq每次发帖或回复都会统计一次,post过大的情况下,会卡住 

临时解决方法

文件路径 \app\Observer\PostObserver.php 内搜索“刷新站点回复数”

/**
* 刷新站点回复数
*/
    private function refreshSitePostCount()
    {
        $this->settings->set(
            'post_count',
            Post::query()
                ->where('is_approved', Post::APPROVED)
                ->whereNull('deleted_at')
                ->whereNotNull('user_id')
                ->count()
        );
    }

修改为

/**
* 刷新站点回复数
*/
    private function refreshSitePostCount()
    {
        $cache = app('cache');
        $cacheKey = 'post_count';
        $red_cache = $cache->GET($cacheKey);
        if(empty($red_cache)){
            $cache->put($cacheKey, Post::query()
                ->where('is_approved', Post::APPROVED)
                ->whereNull('deleted_at')
                ->whereNotNull('user_id')
                ->count(),86400);
        }
        $this->settings->set(
            'post_count',
            $red_cache
        );
    }

文件路径 \app\Observer\ThreadObserver.php 搜索“刷新站点主题数”

/**
* 刷新站点主题数
*/
    private function refreshSiteThreadCount()
    {
        $this->settings->set(
            'thread_count',
            Thread::query()
                ->where('is_approved', Thread::APPROVED)
                ->whereNull('deleted_at')
                ->whereNotNull('user_id')
                ->count()
        );
    }

修改为

/**
* 刷新站点主题数
*/
    private function refreshSiteThreadCount()
    {
        $cache = app('cache');
        $cacheKey = 'thread_count';
        $red_cache = $cache->GET($cacheKey);
        if(empty($red_cache)){
            $cache->put($cacheKey, Thread::query()
                ->where('is_approved', Thread::APPROVED)
                ->whereNull('deleted_at')
                ->whereNotNull('user_id')
                ->count(),86400);
        }
        $this->settings->set(
            'thread_count',
            $red_cache
        );
    }

更新缓存,故障解决

打赏
微信扫一扫支付
微信logo微信扫一扫,打赏作者吧~

扫描二维码推送至手机访问。

版权声明:本文由 懋和道人 发布,如需转载请遵循《声明》注明出处。

本文链接:https://www.dao.js.cn/new/20221122132.shtml

分享给朋友:

“Discuz Q 回复非常卡临时解决方案” 的相关文章

通过审计,排查是否有垃圾蜘蛛YisouSpider

通过审计,排查是否有垃圾蜘蛛YisouSpider

grep "YisouSpider" | awk '{print $2}' | sort&nb...

uptimerobot 的 ipv4 与 ipv6 列表

uptimerobot 的 ipv4 与 ipv6 列表

216.144.250.150 69.162.124.226 69.162.124.227 69.162.124.228 69.162.124.229 69.162.124.230 69....

MySQL中替换、更新字段及其它

MySQL中替换、更新字段及其它

有时候需要在表中更换一些字符串为NULL,可以使用下面的句子:update tablename set fieldname = "texts...

新年到,给你的网站加一个带对联的灯笼

新年到,给你的网站加一个带对联的灯笼

新年了,给自己的站点添个带对联的小灯笼吧。代码如下:! function(t) {     "function"&nb...

山西恶意CC的IP波段

山西恶意CC的IP波段

连日来,在较多的站长群里人人喊“被打”,纵使使用了CDN服务也没用,瞬间流量飙升。往往就单个较大的文件,如图片、CSS、JS文件等,急剧刷量,导致流量飙升,一些购买了付费服务的站长,甚至欠费若干。小道...

评论列表

上衫绘梨衣
上衫绘梨衣  Google Chrome 86.0.4240.198  Windows 10 x64 回复:
2个月前 (08-03)

Discuz Q 回复卡顿困扰?试试临时解决方案:清理缓存、优化数据库,提升操作体验!速效改善响应慢。

发表评论

访客

看不清,换一张

◎欢迎参与讨论,请在这里发表您的看法和观点。

请如实填写常用的真实邮箱,方便后续的回复邮件通知。