下载

安装使用


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. shell EOF注意点

    当sqlplus与shell交互的时候我们这么用 su - oracle -c "sqlplus / as sysdba<<EOF select * from gv($insta ...

  2. hdu(1114)——Piggy-Bank(全然背包)

    唔..近期在练基础dp 这道题挺简单的(haha).可是我仅仅想说这里得注意一个细节. 首先题意: 有T组例子,然后给出储蓄罐的起始重量E,结束重量F(也就是当它里面存满了零钱的时候).然后给你一个数 ...

  3. 认证与授权协议对比:OAuth2、OpenID、SMAL

    认证授权是目前大多数系统都必须要实现都功能,认证就是验证用户都身份,授权就是验证身份后对受限资源的访问控制.最开始是单个平台要做,后来在互联网时代到来,一个账户可登陆多个平台,然后是各种开放平台账户共 ...

  4. RTP协议分析和详解

    一.RTP协议分析 第1章.     RTP概述 1.1.  RTP是什么 RTP全名是Real-time Transport Protocol(实时传输协议).它是IETF提出的一个标准,对应的RF ...

  5. leetcode数学相关

    目录 166分数到小数 169/229求众数 238除自身以外数组的乘积 69Sqrt(x) 求平方根 231Power of Two 166分数到小数 给定两个整数,分别表示分数的分子 numera ...

  6. Python入门 五、学着机器思考

    正则表达式(1) import re text = "Hi,I am Shirley Hilton.I am his wife." m = re.findall(r"hi ...

  7. PCB Genesis增加轮廓字 实现原理

    在Genesis增加汉字自带是不支持增加汉字的,如果需增加汉字需用到CAD 汉字库才可增加汉字,这里介绍一种脱离汉字库实现 Genesis增加轮廓字(如要变为实体,填空Surface可变为实体字) 一 ...

  8. PCB Genesis加邮票孔(线与线)实现算法

    一.Genesis加邮票孔(线与线)实现算法 1.鼠标点击位置P点, 2.通过P点求出,垂足2个点:P1C与P2C (两个点即距离2条线段垂直的垂足点) 3.计算P1C到P2C方位角(假设置为变量PA ...

  9. html5小知识点

    1.兼容性问题: 对于不支持H5标签的浏览器,可以使用javascript来解决他们.然后在样式表中对这些标签定义一下默认的display:block. 采用第三方库:html5shiv.js < ...

  10. python请求服务器图片并下载到本地磁盘

    >>> import os >>> os.getcwd() 'C:\\Python33' >>> os.chdir('E:\\python\\mm ...