步骤
注意:本文只是简单的记录一下redis的实现,没有做时间段记录、定时清除访问量与持久化
1.在项目中配置好Redis,这里用的是SpringBoot项目
2.在过滤器文件中进行访问量记录,也可以用AOP
部分代码
/**
* @ClassName Filter
* @Author XXX
* @Date 2020/9/10 11:35
**/
@Slf4j
@Component
public class XXXFilter implements Filter {
@Autowired
private RedisOperator redisOperator;
@Override
public void doFilter(ServletRequest servletRequest, ServletResponse servletResponse, FilterChain filterChain) throws IOException, ServletException {
log.info("***经过XXXFilter***");
HttpServletRequest request = (HttpServletRequest) servletRequest;
HttpServletResponse response = (HttpServletResponse) servletResponse;
Object value = redisOperator.hget("pageView", request.getRequestURI());
if (value != null) {
String count = (Integer.parseInt(value.toString()) + 1)+"";
redisOperator.hset("pageView", request.getRequestURI(), count);
} else {
redisOperator.hset("pageView", request.getRequestURI(), "1");
}
Map<Object, Object> pageView = redisOperator.hmget("pageView");
System.out.println("开始遍历访问信息");
for (Map.Entry<Object, Object> entry : pageView.entrySet()) {
System.out.println("访问的接口:" + entry.getKey() + ", 访问次数:" + entry.getValue());
}
System.out.println("遍历完成");
}
}