Php Postgresql计数命中重叠

Php Postgresql计数命中重叠,php,postgresql,Php,Postgresql,我有一个代码,可以计算链接的唯一点击率。在停止流量和重定向到另一个链接之前,所有计数都有最大点击次数 ... // $link->max_clicks = 100; (example) if (!empty($link->max_clicks)) { $count_unique_clicks = DB::table('links_clicks')->distinct()->select('ip')->count('ip'); i

我有一个代码,可以计算链接的唯一点击率。在停止流量和重定向到另一个链接之前,所有计数都有最大点击次数

...
// $link->max_clicks = 100; (example)

if (!empty($link->max_clicks)) {

        $count_unique_clicks = DB::table('links_clicks')->distinct()->select('ip')->count('ip');

        if ($count_unique_clicks >= $link->max_clicks) {
            return redirect($link->url_backup);
        }

    } ...
问题是当我的大流量重定向在101或102处停止时,因为2-3个查询同时运行,并且命中“if”重叠。如何防止这种情况发生,我需要确保只在100处重定向stop(在本例中)

执行该技巧。重新锁定锁定/解锁过程并防止重叠。

完成此操作。锁定/解锁过程并防止重叠