使用Redis实现UA池( 二 )

【使用Redis实现UA池】某次运行结果如下:
第1次获取到的UA是:UA-0第2次获取到的UA是:UA-8第3次获取到的UA是:UA-2第4次获取到的UA是:UA-4第5次获取到的UA是:UA-7第6次获取到的UA是:UA-5第7次获取到的UA是:UA-1第8次获取到的UA是:UA-3第9次获取到的UA是:UA-6第10次获取到的UA是:UA-9第11次获取到的UA是:UA-0第12次获取到的UA是:UA-8第13次获取到的UA是:UA-2第14次获取到的UA是:UA-4第15次获取到的UA是:UA-7第16次获取到的UA是:UA-5第17次获取到的UA是:UA-1第18次获取到的UA是:UA-3第19次获取到的UA是:UA-6第20次获取到的UA是:UA-9可见洗牌算法的效果不差,数据相对分散 。
小结
其实 UA 池的设计难度并不大,需要注意几个要点:

  • 一般主流的移动设备或者桌面设备的系统版本不会太多,所以来源 UA 数据不会太多,最简单的实现可以使用文件存放,一次读取直接写入 Redis 中 。
  • 注意需要随机打散 UA 数据,避免同一个设备系统类型的 UA 数据过于密集,这样可以避免触发模拟某些请求时候的风控规则 。
  • 需要熟悉 Lua 的语法,毕竟 Redis 的原子指令一定离不开 Lua 脚本 。
原文链接:http://www.throwable.club/2019/11/14/redis-in-action-ua-pool/




推荐阅读