亚洲精品成人_精品成人一区_999视频在线播放_免费黄色在线_亚洲成人久久久_久久www免费视频

words-match

words-match組件是基于字典樹(DFA)并利用UnixSock通訊和自定義進(jìn)程實(shí)現(xiàn),開發(fā)本組件的目的是幫小伙伴們快速部署內(nèi)容檢測服務(wù)。

使用場景

  • 跟文字內(nèi)容相關(guān)的產(chǎn)品都有應(yīng)用場景。

  • 博客類的文章,評論的檢測

  • 聊天內(nèi)容的檢測

  • 對垃圾內(nèi)容的屏蔽

組件要求

None

安裝方法

composer require easyswoole/words-match

倉庫地址

easyswoole/words-match

基本使用

準(zhǔn)備詞庫

服務(wù)啟動(dòng)的時(shí)候會(huì)一行一行將數(shù)據(jù)讀出來,每一行的第一列為敏感詞,其它列為附屬信息

php※是世界上※最好的語言
java
golang
程序員
代碼
邏輯

服務(wù)注冊

<?php

namespace EasySwoole\EasySwoole;

use EasySwoole\Component\Di;
use EasySwoole\EasySwoole\AbstractInterface\Event;
use EasySwoole\EasySwoole\Swoole\EventRegister;
use EasySwoole\Http\Request;
use EasySwoole\Http\Response;
use EasySwoole\WordsMatch\WMServer;

class EasySwooleEvent implements Event
{
    public static function initialize()
    {
        date_default_timezone_set('Asia/Shanghai');

        Di::getInstance()->set(SysConst::HTTP_GLOBAL_ON_REQUEST, function (Request $request, Response $response): bool {
            // TODO: Implement onRequest() method.
            return true;
        });

        Di::getInstance()->set(SysConst::HTTP_GLOBAL_AFTER_REQUEST, function (Request $request, Response $response): void {
            // TODO: Implement onRequest() method.
        });
    }

    public static function mainServerCreate(EventRegister $register)
    {
        // 配置 words-match
        $wdConfig = new \EasySwoole\WordsMatch\Config();
        $wdConfig->setDict(__DIR__ . '/dictionary.txt'); // 配置 詞庫地址
        $wdConfig->setMaxMEM('1024M'); // 配置 每個(gè)進(jìn)程最大占用內(nèi)存(M),默認(rèn)為 512 M
        $wdConfig->setTimeout(3.0); // 配置 內(nèi)容檢測超時(shí)時(shí)間。默認(rèn)為 3.0 s
        $wdConfig->setWorkerNum(3); // 配置 進(jìn)程數(shù)
        // $wdConfig->setSockDIR(sys_get_temp_dir()); // (不建議修改)配置 socket 存放地址,默認(rèn)為 sys_get_temp_dir(),即 '/tmp'

        // 注冊服務(wù)
        WMServer::getInstance($wdConfig)->attachServer(ServerManager::getInstance()->getSwooleServer());
    }
}

客戶端使用

<?php

namespace App\HttpController;

use EasySwoole\Http\AbstractInterface\Controller;
use EasySwoole\WordsMatch\WMServer;

class Index extends Controller
{
    function detect()
    {
        // 需要檢測的內(nèi)容敏感詞
        $content = 'php是世界上最好的語言';
        // 檢測結(jié)果(返回 -1 表示檢測超時(shí),匹配檢測到時(shí)返回檢測到的敏感詞內(nèi)容)
        $result = WMServer::getInstance()->detect($content, 3);
        var_dump($result);
        /**
         * 輸出結(jié)果:
         * array(1) {
            [0]=>
            object(EasySwoole\WordsMatch\Dictionary\DetectResult)#96 (5) {
            ["word"]=>
            string(30) "php是世界上最好的語言"
            ["location"]=>
            array(1) {
              [0]=>
              array(3) {
                ["word"]=>
                string(30) "php是世界上最好的語言"
                ["length"]=>
                int(12)
                ["location"]=>
                array(1) {
                  [0]=>
                  int(0)
                }
              }
            }
            ["count"]=>
            int(1)
            ["remark"]=>
            string(0) ""
            ["type"]=>
            int(1)
            }
         * }
         */
    }
}

壓測結(jié)果

對此組件分別進(jìn)行1.5萬、13萬等級的詞庫測試,服務(wù)默認(rèn)開啟3個(gè)進(jìn)程。

僅做參考,具體還以線上驗(yàn)證

電腦配置

MacBook Air (13-inch, 2017)
處理器 1.8 GHz Intel Core i5
內(nèi)存 8 GB 1600 MHz DDR3

1.5萬詞

并發(fā)10總請求數(shù)100
10 100
Concurrency Level:      10
Time taken for tests:   0.067 seconds
Complete requests:      100
Failed requests:        0
Non-2xx responses:      100
Total transferred:      17300 bytes
HTML transferred:       2600 bytes
Requests per second:    1492.49 [#/sec] (mean)
Time per request:       6.700 [ms] (mean)
Time per request:       0.670 [ms] (mean, across all concurrent requests)
Transfer rate:          252.15 [Kbytes/sec] received
并發(fā)100總請求數(shù)1000
Concurrency Level:      100
Time taken for tests:   0.239 seconds
Complete requests:      1000
Failed requests:        0
Non-2xx responses:      1000
Total transferred:      173000 bytes
HTML transferred:       26000 bytes
Requests per second:    4189.17 [#/sec] (mean)
Time per request:       23.871 [ms] (mean)
Time per request:       0.239 [ms] (mean, across all concurrent requests)
Transfer rate:          707.74 [Kbytes/sec] received

13萬詞

并發(fā)10總請求數(shù)100
Concurrency Level:      10
Time taken for tests:   0.057 seconds
Complete requests:      100
Failed requests:        0
Non-2xx responses:      100
Total transferred:      17300 bytes
HTML transferred:       2600 bytes
Requests per second:    1751.71 [#/sec] (mean)
Time per request:       5.709 [ms] (mean)
Time per request:       0.571 [ms] (mean, across all concurrent requests)
Transfer rate:          295.94 [Kbytes/sec] received
并發(fā)100總請求數(shù)1000
Concurrency Level:      100
Time taken for tests:   0.225 seconds
Complete requests:      1000
Failed requests:        0
Non-2xx responses:      1000
Total transferred:      173000 bytes
HTML transferred:       26000 bytes
Requests per second:    4444.84 [#/sec] (mean)
Time per request:       22.498 [ms] (mean)
Time per request:       0.225 [ms] (mean, across all concurrent requests)
Transfer rate:          750.93 [Kbytes/sec] received
亚洲精品成人_精品成人一区_999视频在线播放_免费黄色在线_亚洲成人久久久_久久www免费视频
  • <kbd id="eqi2k"><code id="eqi2k"></code></kbd><cite id="eqi2k"><tbody id="eqi2k"></tbody></cite>
    久久艹中文字幕| 九色视频成人porny| wwwxx欧美| 欧美高清性xxxxhd| 欧美黄污视频| 日韩视频一区| 国产成人成网站在线播放青青 | 亚洲人成网站在线观看播放| 欧美日韩天堂| 久久亚洲图片| 日本不卡一区二区三区视频| 欧美久久九九| 96久久精品| 一区二区三区四区视频在线| 99精品国产高清一区二区| 国产乱码精品一区二区三区中文| 日本精品一区二区三区高清 久久| 欧美一区激情视频在线观看| 午夜一区不卡| 日韩欧美亚洲精品| 一本久久综合| 日韩精品不卡| 亚洲一区二区三区高清| 欧美精品与人动性物交免费看| 欧美激情性爽国产精品17p| 亚洲欧美日韩综合国产aⅴ| 欧美日韩喷水| 国产精品一级| 日本在线高清视频一区| 一二三区精品| 亚洲精品9999| www.久久爱.cn| 伊人蜜桃色噜噜激情综合| 国内精品国语自产拍在线观看| 亚洲无线一线二线三线区别av| 国产精品亚洲不卡a| 激情自拍一区| 日本免费高清不卡| 久久国产成人| 欧美大片一区| 久久人人九九| 久久久99爱| 狠狠色丁香久久综合频道| 精品人伦一区二区三区| 国产伦理一区| 欧美精品综合| 日日噜噜噜噜夜夜爽亚洲精品| 午夜亚洲性色福利视频| 在线观看日本一区| 久久综合久久久| 91九色偷拍| 国产欧美激情| 激情成人亚洲| 无遮挡亚洲一区| 国产乱码精品一区二区三区中文| 国产欧美亚洲日本| 欧美精品尤物在线| 色噜噜狠狠色综合网| 国产亚洲第一区| 久久xxxx| 国产精品久久久久久模特| 欧美日韩一区在线视频| 亚洲精品9999| 亚洲mv在线看| 久久国产精品-国产精品| av蓝导航精品导航| 午夜在线一区| 亚洲作爱视频| 在线综合欧美| 亚洲高清不卡一区| 国产一区视频在线观看免费| 一本色道久久99精品综合| 欧美中文娱乐网| 欧美久久综合性欧美| 精品在线视频一区二区| 国产私拍一区| 久久久久欧美| 免费亚洲一区二区| 免费日韩av电影| 日韩国产在线一区| 日韩在线电影一区| 色综合视频二区偷拍在线| 少妇精品久久久久久久久久| 日韩亚洲不卡在线| 欧美在线国产| 国产在线精品二区| 91久久久久| 香蕉精品999视频一区二区| 亚洲综合国产激情另类一区| 国产精品一二| 成人资源av| 欧美极品视频一区二区三区| 色一情一乱一伦一区二区三区| 欧美激情第六页| 亚洲精品中文综合第一页| 先锋影音一区二区三区| 午夜精品电影| 99精品久久| 97人摸人人澡人人人超一碰| 国产手机精品在线| 新呦u视频一区二区| 欧美久久九九| 亚洲欧美日韩国产一区二区| 国产超碰91| 亚洲免费精品视频| 国产一区欧美| 91九色蝌蚪嫩草| 日本高清久久一区二区三区| 欧美三级黄美女| 亚洲欧美视频| 精品国产91亚洲一区二区三区www 精品国产_亚洲人成在线 | 亚洲欧洲日本国产| 久久久久久网| 日韩高清专区| 最新亚洲一区| 国产亚洲欧美一区二区| 在线视频91| 午夜在线一区二区| 欧美三级电影在线播放| 亚洲午夜伦理| 国产激情一区二区三区在线观看 | 亚洲高清视频一区二区| 9国产精品视频| 国产一区二区黄色| 欧美久久影院| 97人人模人人爽人人喊38tv| 一区不卡视频| 久久综合狠狠| 伊人久久大香线蕉午夜av| 午夜一区不卡| 水蜜桃亚洲精品| 先锋亚洲精品| 欧美xxx在线观看| 97netav| 欧美激情aⅴ一区二区三区| 久久久久久亚洲精品不卡4k岛国| 日韩久久在线| 久久精品亚洲| 欧美在线1区| 国产欧美一区二区三区另类精品| 欧美fxxxxxx另类| 国产亚洲一区二区三区在线播放| 欧美日韩国产综合在线| 国产伦精品一区二区三区在线| 欧美日韩国产在线一区| 久久99精品久久久久子伦| 亚洲高清资源| 台湾成人av| 国产视频一区二区三区四区| 亚洲欧洲日本mm| 亚洲国产一区二区三区在线播| 久久综合网络一区二区| 欧美日韩在线一二三 | 明星裸体视频一区二区| 91久久综合| 欧美一区二区| 青青草久久网络| 成人影片在线播放| 亚洲综合国产激情另类一区| 欧美午夜精品久久久久免费视| 久久免费视频1| ts人妖另类在线| 亚洲精选国产| 亚洲天堂男人| 欧美激情麻豆| 影音先锋亚洲视频| 欧美日韩一区在线播放| 豆国产97在线| 久久午夜精品| 亚洲免费在线精品一区| 亚洲黄色影片| 国产精品红桃| 欧美极品一区二区三区| 色就是色欧美| 区一区二区三区中文字幕| 韩国成人动漫在线观看| 97伦理在线四区| 2014国产精品| 免费视频一区| 亚洲欧美日产图| 麻豆九一精品爱看视频在线观看免费| 国语精品中文字幕| 午夜久久一区| 综合视频在线观看| 伊人久久大香线蕉综合75| 亚洲欧洲中文| 夜夜爽www精品| 欧美国产三级| 国产在线视频欧美一区二区三区| 欧美在线播放一区| 欧美精品1区| 在线播放不卡| 中文久久精品| 国产伦精品一区二区三| 久久综合九色综合网站| 国产精品jizz视频| 精品欧美一区二区在线观看视频| 久久riav二区三区| 日本免费高清一区| 一区视频二区视频|