下载

安装使用


mkdir -p /data/server/wordsFilter
cd /data/server/wordsFilter
wget -O goRedisWordsFilter-v0.0.1.tar.gz https://github.com/jonnywang/goRedisWordsFilter/files/2334417/goRedisWordsFilter-v0.0.1.tar.gz
tar zxvf goRedisWordsFilter-v0.0.1.tar.gz
cd v0.0.1
./bin/goRedisWordsFilter_linux --config=conf/config.xml

配置说明


<?xml version="1.0" encoding="UTF-8" ?>
<config>
<!-- redis server -->
<server>0.0.0.0:8299</server>
<!-- 脏字字典 -->
<dict>dict/words.conf</dict>
</config>
  • 以redis协议对外提供脏字过滤服务

字典格式以行为单位填写待过滤脏字


毛片
妈的

命令


redis-cli -p 8299 --raw
127.0.0.1:8299> total
2
127.0.0.1:8299> exists 好x
0
127.0.0.1:8299> add 好x
OK
127.0.0.1:8299> total
3
127.0.0.1:8299> filter 妈的-我看他说话的语气,好x啊
**-我看他说话的语气,**啊
127.0.0.1:8299> delete 妈的
OK
127.0.0.1:8299> total
2
127.0.0.1:8299> filter 妈的-我看他说话的语气,好x啊
妈的-我看他说话的语气,**啊
127.0.0.1:8299> reload
OK
127.0.0.1:8299> total
3
127.0.0.1:8299> exists 好x
1
127.0.0.1:8299> filter 妈的-我看他说话的语气,好x啊
**-我看他说话的语气,**啊
127.0.0.1:8299> FLUSHALL
OK
127.0.0.1:8299> total
0
127.0.0.1:8299> reload
OK
127.0.0.1:8299> total
3
127.0.0.1:8299> filter 妈的-我看他说话的语气,好x啊
**-我看他说话的语气,**啊

用例


<?php $redis_handle = new Redis();
$redis_handle->connect('127.0.0.1', 8299, 10);
$result = $redis_handle->rawCommand('filter', '妈的-我看他说话的语气,好x啊');
echo $result . PHP_EOL;
$result = $redis_handle->rawCommand('add', '好x');
var_dump($result);
$result = $redis_handle->rawCommand('add', '好x');
var_dump($result);
$result = $redis_handle->rawCommand('filter', '妈的-我看他说话的语气,好x啊');
echo $result . PHP_EOL;

测试


php test_filter.php **-我看他说话的语气,好x啊
bool(true)
bool(false)
**-我看他说话的语气,**啊

支持

  • QQ群 233415606

原文地址:https://segmentfault.com/a/1190000016253865

通过redis协议构建脏字过滤微服务的更多相关文章

  1. 使用 Spring Cloud Stream 构建消息驱动微服务

    相关源码: spring cloud demo 微服务的目的: 松耦合 事件驱动的优势:高度解耦 Spring Cloud Stream 的几个概念 Spring Cloud Stream is a ...

  2. 微服务平台(Micro Service Platform : MSP)旨在提供一个集开发、测试、运维于一体的开发者专属平台,让开发者能快速构建或使用微服务,让开发更简单,让运维更高效。

    微服务平台(Micro Service Platform : MSP)旨在提供一个集开发.测试.运维于一体的开发者专属平台,让开发者能快速构建或使用微服务,让开发更简单,让运维更高效. MSP采用业界 ...

  3. SpringBoot2.1.9+dubbo2.7.3+Nacos1.1.4构建你的微服务体系

    简单几步使用最新版本的DUBBO构建你的微服务体系 NACOS注册中心 从github下载最新版本的nacos 上传至服务器并解压 单机启动sh startup.sh -m standalone na ...

  4. 「 从0到1学习微服务SpringCloud 」08 构建消息驱动微服务的框架 Spring Cloud Stream

    系列文章(更新ing): 「 从0到1学习微服务SpringCloud 」01 一起来学呀! 「 从0到1学习微服务SpringCloud 」02 Eureka服务注册与发现 「 从0到1学习微服务S ...

  5. 在eclipse中使用maven构建spring cloud微服务

    使用eclipse中使用maven构建spring cloud微服务,springcloud通过maven构建项目.springcloud项目搭建. 工具/原料   eclipse maven spr ...

  6. NodeJS 基于 Dapr 构建云原生微服务应用,从 0 到 1 快速上手指南

    Dapr 是一个可移植的.事件驱动的运行时,它使任何开发人员能够轻松构建出弹性的.无状态和有状态的应用程序,并可运行在云平台或边缘计算中,它同时也支持多种编程语言和开发框架.Dapr 确保开发人员专注 ...

  7. 使用Ratpack与Spring Boot构建高性能JVM微服务

    在微服务天堂中Ratpack和Spring Boot是天造地设的一对.它们都是以开发者为中心的运行于JVM之上的web框架,侧重于生产率.效率以及轻量级部署.他们在服务程序的开发中带来了各自的好处.R ...

  8. Rest构建分布式 SpringCloud微服务架构项目

    一.开发环境:jdk  1.8.Maven  3.x.IDEA  2019.1.4.SpringBoot   2.0.7.spring Cloud  最新的稳定版  Finchley SR2   搭配 ...

  9. Spring Cloud Alibaba学习笔记(12) - 使用Spring Cloud Stream 构建消息驱动微服务

    什么是Spring Cloud Stream 一个用于构建消息驱动的微服务的框架 应用程序通过 inputs 或者 outputs 来与 Spring Cloud Stream 中binder 交互, ...

随机推荐

  1. MySQL数据库数据迁移到SQLserver

    近期因工作须要.须要将mysql数据库迁移到sqlserver.不过数据迁移.因此相对照较简单.对于mysql迁移到sqlserver,我们须要使用到mysql odbc驱动,然后透过sqlserve ...

  2. pat1013:数素数

    https://www.patest.cn/contests/pat-b-practise/1013 #include "stdio.h" #include "math. ...

  3. caioj1495: [视频]基于连通性状态压缩的 动态规划问题:Formula 2

    本来想写一天插头的,但是这题太难受(绝望)500+的代码量..我选择下午放松一下. 先ORZ一下苏大佬(yz的cdq啊%%%%%)居然把cdq论文里面的题抠出来出数据放在c站(呵呵真是个悲伤的故事不过 ...

  4. css中的绝对定位和相对定位(详解,总结)

    css中的绝对定位和相对定位(详解,总结) 总结: 设置绝对定位或者相对定位后都从文档中浮起来了,区别是相对定位还占着原来的位置,绝对定位不占着原来的位置,可以种z-index来改变元素的浮动的堆叠次 ...

  5. POJ 3264 Balanced Lineup (线段树)

    Balanced Lineup For the daily milking, Farmer John's N cows (1 ≤ N ≤ 50,000) always line up in the s ...

  6. c++调用DOS命令,不显示黑屏

    WinExec("Cmd.exe /C md c://12", SW_HIDE); 注释:/c是什么意思,不用/C会报错 CMD [/A | /U] [/Q] [/D] [/E:O ...

  7. Django day07 (二)单表操作

    单表操作 -mysql数据库:settings里配置: DATABASES = { 'default': { 'ENGINE': 'django.db.backends.sqlite3', 'NAME ...

  8. Python 41 完整查询语句 和 一堆关键字

    一:完整查询语句 1.拷贝表 *** create table copy_table select *from customer ; 拷贝结构 与数据 create table copy_table ...

  9. angular的directive指令的link方法

    比如 指令标签 <mylink myLoad="try()"></mylink> link:function(scope,element,attr){ el ...

  10. 【java基础】(3)Java继承内存分配

    继承的基本概念: (1)Java不支持多继承,也就是说子类至多只能有一个父类. (2)子类继承了其父类中不是私有的成员变量和成员方法,作为自己的成员变量和方法. (3)子类中定义的成员变量和父类中定义 ...