我应该在服务器端(或客户端)处理Slang / Bad字掩码以获得更好的性能吗?

时间:2016-10-27 02:01:00

标签: mysql node.js redis server client

我一直在开发实时聊天服务,需要屏蔽客户端发送的错误字词。所以,现在我想知道系统性能,因为数千个msgs实时传输。

哪个部分(服务器或客户端)流程是屏蔽坏词以获得更好性能的最佳解决方案?

客户端:Android

服务器端:Nodejs(MySQL,Redis)

我在想的方法:

  • 从服务器下载俚语列表,当客户端发送一个msg(如果是坏词)掩码时。流程可能需要很长时间,但可能有很好的搜索算法。
  • 将俚语列表放在redis上,并在每个msg服务器上处理检查坏词(通过redis查询)并将屏蔽的msg发送到客户端和端点。通过redis听起来不错,但我必须将屏蔽的msg发回给客户端,这似乎让我的系统变慢了。

1 个答案:

答案 0 :(得分:0)

如果要实时显示屏蔽消息,请在两端实现。客户端将负责显示消息并同时将其发送到服务器(异步进程)以进行屏蔽并保存到数据库。

确保两端的屏蔽算法相同,以便实时显示的数据和从数据库中提取的数据将是相同的。