现在我做的是短信网关黑名单过滤机制,我每发一批短信,一批假如1000条,
这1000条数据都会从黑名单库中过一遍,目前我的黑名单是放在redis里,
由于长期的累积, 黑名单数量已经达到了几千万,现在每发一批短信过滤黑名单
的时间基本会耗时1秒到2秒,导致整个发送效率比较慢。对于这种场景下,redis和memcache或者其他缓存数据,更能节约时间提高过滤黑名单的效率。
Redis和Memcache场景下效率对比
- 写回答
- 好问题 0 提建议
- 追加酬金
- 关注问题
- 邀请回答
-
2条回答 默认 最新
- threenewbee 2015-08-06 15:06关注
你的算法本身就有问题,黑名单过滤应该用字典树,而不是简单遍历。
你要知道,常用英文单词起码有10万,而在1MB内存16MHz的286上运行的Word 6.0都有拼写检查功能,而拼写检查的原理和黑名单其实很类似。就是看你输入的单词在词典中有没有。没有就是你输错了。
这种任务286都能胜任。
解决 无用评论 打赏 举报
悬赏问题
- ¥15 Qt下使用tcp获取数据的详细操作
- ¥15 idea右下角设置编码是灰色的
- ¥15 全志H618ROM新增分区
- ¥15 在grasshopper里DrawViewportWires更改预览后,禁用电池仍然显示
- ¥15 NAO机器人的录音程序保存问题
- ¥15 C#读写EXCEL文件,不同编译
- ¥15 MapReduce结果输出到HBase,一直连接不上MySQL
- ¥15 扩散模型sd.webui使用时报错“Nonetype”
- ¥15 stm32流水灯+呼吸灯+外部中断按键
- ¥15 将二维数组,按照假设的规定,如0/1/0 == "4",把对应列位置写成一个字符并打印输出该字符