下载

安装使用


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. javascript 使用方式

    第一种:内嵌在html节点中 <html> <body> <input type="button" onclick="document.bo ...

  2. AndroidUI组件之ActionBar

    有一段时间没有写博文了,发现自己的博文的完整度不是非常好.就拿AndroidUI组件这一块.一直没有更新完.我会尽快更新.好了.不多说了,今天来看一下ActionBar. 依照以往的作风.知识点都以代 ...

  3. Android之使用MediaMetadataRetriever类获取视频第一帧

    一.首先,来介绍一下MediaMetadataRetriever类,此类位于android.media包下,这里,先附上可查看此类的API地址:MediaMetadataRetriever类.大家能够 ...

  4. 我在SharePoint行业的从业经历(二)

     本文是我的SharePoint从业经历的第二篇,第一篇请參考 我在SharePoint行业的从业经历(一) 做完那个项目之后.对SharePoint 2003有了一些认识. 可是后来几年我就没在 ...

  5. linux select函数:Linux下select函数的使用详解【转】

    本文转载自;http://www.bkjia.com/article/28216.html Linux下select函数的使用 Linux下select函数的使用 一.Select 函数详细介绍 Se ...

  6. android recovery 系统代码分析 -- 选择进入【转】

    本文转载自:http://blog.csdn.net/andyhuabing/article/details/9226569 最近做Recovery的规范及操作指导文档,花了一些时间将流程搞清. An ...

  7. 【POJ 3076】 Sudoku

    [题目链接] http://poj.org/problem?id=3076 [算法] 将数独问题转化为精确覆盖问题,用Dancing Links求解 [代码] #include <algorit ...

  8. B5248 [2018多省省队联测]一双木棋 状压dp

    这个题当时划水,得了二十分,现在来整一整. 这个题用状压来压缩边界线,然后通过记忆化搜索进行dp.我们可以观察到,其实每次转移,就是把一个1向左移一位.最后的状态设为0. 这其中还要有一个变量来记录谁 ...

  9. Flink之DataStreamAPI入门

    目录 Types Transformations Defining UDFs 本文API基于Flink 1.4 def main(args: Array[String]) { // 第一种会自动判断用 ...

  10. nodejs windows环境安装

    相信对于很多关注javascript发展的同学来说,nodejs已经不是一个陌生的词眼.有关nodejs的相关资料网上已经铺天盖地.由于它的高并发特性,造就了其特殊的应用地位. 国内目前关注最高,维护 ...