以上代码有两点缺陷 可能会出现竞态条件: 解决方法是用 WATCH 监控 rate.limit:$IP 的变动, 但较为麻烦;以上代码在不使用 pipeline 的情况下最多需要向Redis请求5条指令, 传输过多. Lua脚本实现 Redis 允许将 Lua 脚本传到 Redis服务器中执行, 脚本内可以调用大部分 Redis 命令, 且 Redis 保证脚本的原子性: ...