Blog Details

服务器架构与高并发性能测试实战方案(二)
by weswoo

shopify独立站

Planning your online business goals with a specials

Kristin Weswoo

Aug 30, 2023

 3.实战方案

 

1)通用方案   日用户流量大,然则对照涣散,偶然会有用户高聚的情形;   场景: 用户签到,用户中央,用户订单等。   说明:   场景中的这些营业基本是用户进入APP后会操作到的,除了流动日(618、双11等),这些营业的用户量都不会高群集,同时这些营业相关的表都是大数据表,营业多是查询操作,以是我们需要削减用户直接掷中DB的查询;优先查询缓存,若是缓存不存在,再举行DB查询,将查询效果缓存起来。   更新用户相关缓存需要漫衍式存储,好比使用用户ID举行hash分组,把用户漫衍到差其余缓存中,这样一个缓存聚集的总量不会很大,不会影响查询效率。   方案如:   用户签到获取积分:   盘算出用户漫衍的key,Redis,hash中查找用户今日签到信息   若是查询到签到信息,返回签到信息   若是没有查询到,DB查询今日是否签到过,若是有签到过,就把签到信息同步Redis缓存。   若是DB中也没有查询到今日的签到纪录,就举行签到逻辑,操作DB添加今日签到纪录,添加签到积分(这整个DB操作是一个事务)   缓存签到信息到Redis,返回签到信息   注重这里会有并发情形下的逻辑问题,如:一天签到多次,发放多次积分给用户。   用户订单:   这里我们只缓存用户第一页的订单信息,一页40条数据,用户一样平常也只会看第一页的订单数据   用户接见订单列表,若是是第一页读缓存,若是不是读DB   盘算出用户漫衍的key,Redis,hash中查找用户订单信息   若是查询到用户订单信息,返回订单信息   若是不存在就举行DB查询第一页的订单数据,然后缓存redis,返回订单信息   用户中央:   盘算出用户漫衍的key,Redis hash中查找用户订单信息   若是查询到用户信息,返回用户信息   若是不存在举行用户DB查询,然后缓存redis,返回用户信息  

服务器架构与高并发性能测试实战方案(三)

Random Image 608
Random Image 608

Manage your online banking

Morbi lorem proin morbi tempor risus. Nisl lobortis diam id faucibus pretium vitae suspendisse sed accumsan. Sodales morbi tristique elit cursus gravida. Ullamcorper commodo eget pulvinar pretium. Condimentum rhoncus commodo amet nec auctor nibh vel mi blandit.

Neque ultrices nunc condimentum morbi risus tincidunt. Vel arcu lacus non ornare. Porttitor in rhoncus magna augue adipiscing.

  • Manage your time so you’ll get more done in less time
  • Cut expenses without sacrificing quality
  • Attract and retain quality, high-paying customers

开始您的独立站品牌出海

独立站品牌从0到1的步骤:产品开发 - VI定调 - 网站定制 - 运营自动化 - 客户维护

  • 12小时技术团队支持

  • 全方位品牌出海护航