首页 > 网站建设 >

数据查询类平台建设如何解决缓存策略与数据一致?

发布时间:2019-07-23 作者:深圳网站建设

   数据查询类平台建设如何解决缓存策略与数据一致?深圳网站建设公司上面以机票网站建设为例说到运价数据同时存储在数据库和缓存中,为什么有了缓存还要数据库呢?存储到数据库是为了方便数据的多维查询和管理,包括对缓存的进一步干预。数据库查询的功能强大,但速度慢,缓存的性能好,但从缓存里获取的数据会有不准确的问题。
   怎么才能做到查询快而且数据准呢?我们的解决方法是缓存永不失效、数据分类、自主控制更新频率,以实现运价数据的又快又准。
根据航线查询的频率,将可以分成热门数据、冷门数据和没有数据,航班多、查询多的是热门数据,航班少、查询少的是冷门数据,查询不到就是没有数据。在预加载或更新运价数据时,将缓存设置为一个较长时间或永不过期,然后在前台访问时,不同数据类型采用不同的更新策略,具体如下图所示。热门航线查询,在缓存中获取数据,数据中有一个自己的缓存时间字段,然后根据这个时间来分别进行处理。
○1小时之内更新的:新鲜度较高,可以直接用;
○1-6小时之内更新的:预警n次,第n+1次命中时则异步更新运价;
○6小时之外更新的:新鲜度太低,异步更新运价。冷门航线查询与热门航线一样,只是不预加载且缓存时间稍长。
○12个小时之内更新的:新鲜度较高,可以直接用;
○12-48个小时之内更新的:预警n次,第n+1次命中时则异步更新运价;
○48个小时之外更新的:新鲜度太低,异步更新运价;缓存没有数据时,直接获取最新运价,同时更新数据库和缓存。
  无论预警后更新,还是直接更新,都是先把缓存中的数据返回给用户,同时异步更新数据库和缓存。虽然存在数据查询不准确的概率,但被用户再次查询时就准确了。查询到的数据即便不准确,在后继的航班预订时也会进行二次的验舱验价,运价数据和库存数据会再次更新。用户不断地查询,数据不断地更新,查询命中率就会越来越高,并且用得人越多情况会越好,会逐步趋近于n个9。好了,网站建设公司本文关于“数据查询类平台建设如何解决缓存策略与数据一致?”的相关网站建设经验就分享到这里,谢谢关注,博纳网络编辑整理。
 
 
文章标题:数据查询类平台建设如何解决缓存策略与数据一致?
本文地址:https://www.198bona.com/news/3252.html
如果您觉得案例还不错请帮忙分享:

网站建设

网络推广

解决方案

域名主机

建站行业资讯