多索引目录缓存商品信息

      在电商行业里面,最主要的数据就是商品了。根据八二原则,我们知道,大多数时间里面,大多数用户是处在浏览商品信息。也就是说,用户在获取商品信息最可能出现搞并发的情况。

       那么,如何设计一个高可用,性能高以及可扩展的的商品存储结构系统变得很重要了。对于服务系统来说,实现快速存储的手段依旧是缓存。通常,我们只管的使用缓存的流程一般是,从数据库或许所需要的数据信息,按照一定的规则缓存数据信息。如果碰上功能模块扩增的情况,缓存的商品数据信息会越来越多。这也是我们不想看到的结果。而且,通常,这样的缓存方式还有一个弊端就是,用户在浏览数据的时候,突然,你的数据缓存更新了,就会导致用户已浏览的序列与更新后的商品序列发生重复了。啊,商品重复了!!!

       那么如何解决这个问题呢?也许你会说,给数据按更新时间添加标识,用于区分不同时间更新时间所存储的数据信息。然鹅,这样做的结果的确解决了数据重复的问题。但是,带来的代价也是庞大的。数据副本不断的增多,模块增加。。。。不可想象,这不是我们想要的结果。

        其实,问题的解决都归于对场景业务的了解,技术是用来辅助解决问题的。我们知道,现在,我们面对最大的问题其实是数据副本过多,这意味着数据的耦合度高啊,如何解决数据耦合呢?当然是使用目录索引来代替具体数据副本的存储啦。“我们不产生**,我们只是大自然的搬运工。”其实,这也是我们经常使用的深拷贝和浅拷贝的区别呢。有木有?

       现在我们为商品建立一个批发市场,而目录索引相当于菜单,用户需要时,只需要说出编号,我们马上去市场买材料进行加工处理(总不能让客户吃生食吧),然后发送给用户即可。而批发市场(Queue Cache)只需与库存(DB)保持同步即可。不说废话了,直接上流程图:

     

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值