利用OsCache实现后端轮循
轮循随处可见,最常用的是APP首页的一些促销活动,一两秒切换一张图片,让前端实现起来也不难。这里说下后端的轮循,实现原理是数组+缓存。将数组放入缓存,指定缓存失效时间,如果是在失效前从缓存中取数据,那么就是老数据,如果是在失效后取,那么就是失效的数据,需要将数组里的元素列表按配置进行重排。
举个例子,轮循时间(缓存失效时间)设置10秒,数组里有3个元素1,2,3,第一次取到的必然是1,2,3,因为缓存里没数据。第二次查询,如果还没到10秒,那么我们还是能从缓存里取到数据,还是1,2,3。一旦超出10秒后查询,缓存取不到数据了,但我们能从异常里取到失效的缓存数据(这时还是1,2,3),按不同的轮循算法对数组重排(比如变成3,1,2),再放入缓存。以此类推,循环往复。
直接看代码输出,再看代码实现:
浙公网安备 33010602011771号