【查询优化】基于Redis的热点数据——缓存预热方案

方案背景——为什么要进行预热?

由于我在做的产品要支持不同维度去查数据,例如:城市、省份、分组等。用户每次请求,都需要根据维度ID取到对应的shopIDs,然后去DB里取数据。

老的接口是一次性查询该用户下的所有维度信息,由调用者去组装。这对于调用者来说,每次需要自己遍历组装数据,既浪费内存,又浪费带宽资源。

因此,考虑该缓存预热方案,定时将不同维度的信息预热至redis。每次查询,只拿去指定维度的信息进行查询。

方案流程

【查询优化】基于Redis的热点数据——缓存预热方案_第1张图片

总结

目前,该方案已在新版开发中应用,已正式上线且稳定运行。

总的来说,预热是解决大数据产品下的数据查询效率的一种思路。

换句话说,以上只是预热的一种实现,对于一些离线数据的功能(例如内控报告等),就可以通过预热的方式,放到缓存中,从而提升查询效率,同时也能降低DB的查询压力。

你可能感兴趣的:(【数据产品】,缓存,预热,大数据)