目前的流程:
两个Redis:
Redis1: 存储词条的summary信息
Redis2:任务队列,用于暂存Redis中没有summary,需要进行处理获取summary, 队列用的Redis的list结构
两个进程:
1、 进程1:服务进程
接收请求,划内链词,然后从Redis1中去获取词的summary, 如果获取失败,则返回code=4的错误,并将词条id写入任务队列Redis2等待被进程2处理
2、进程2:读取Summary的进程
循环从任务队列Redis2中读取词条id,并调用一个A接口获取词条的summary信息,写入Redis1中,并设置过期时间为3天
最近暴露出来的问题:
一个请求重复请求很多次后,仍然返回code=4的错误
但是按照上述逻辑,如果速度够快的话,第一次请求的时候返回code=4的错误,第二次应该是可以拿到数据的
分析原因:
首先查看了Redis1,的确拿不到对应词条的summary信息
手动获取了summary并存入Redis1后,请求可以获取到数据
看来的确是因为Redis中获取不