处理业务代码的过程中,对业务代码有了一些调整,后续发现这是一种代码思想
在一段复杂的逻辑里,我把查询redis操作写在了前面,
业务逻辑:
如果需要不打压就退出本次处理
查询redis拿到商品需要打压的次数
如果次数 == 0代表已经打压过并且不需要重新打压了,退出本次处理
如果页面 == 1 或 打压次数为 -1(即没有进行过打压处理)。那么就计算打压次数插入redis并标记商品pid等待循环结束后批量移除
这里当页面 == 1时,是会清空redis对应key的全部缓存的(有个beforeprocess方法实现)。也就是说,我可以先判断页面是1的情况,是的话就直接退出本次处理,那么本次请求就不会查询redis了,查redis实际上是损耗资源的操作,尽量能不查就不查,以下是修改后的代码逻辑