当前位置: 首页 > news >正文

建设智能网站wordpress新建页面慢

建设智能网站,wordpress新建页面慢,网站建设公司的市场营销方案,做外贸的网站赚钱吗1. 前言 目的:该项目只用于技术交流,不用于过多商业用途。 适用:可用于简历亮点、毕业答辩等。 2. 项目成果 2.1 秒杀主页 包含5个功能点: ①、Product Name:秒杀商品名称 ②、Product Image:秒杀商…

1. 前言

目的:该项目只用于技术交流,不用于过多商业用途。 

适用:可用于简历亮点、毕业答辩等。

2. 项目成果

2.1 秒杀主页

包含5个功能点:

①、Product Name:秒杀商品名称

②、Product Image:秒杀商品图片

③、Price:秒杀价格

④、Seckill starts in:距离秒杀所剩时间

⑤、Seckill Now:秒杀按钮(核心逻辑)

部分不重要参数,没有做UI设计,只为功能而生

 2.2 秒杀架构

①、MySQL主从复制:一主二从

②、Redis缓存、Redis分布式锁

③、MQ异步处理库存、订单

 

3. 核心代码讲解

3.1 缓存预热

@Override
public void afterPropertiesSet() throws Exception {// 缓存秒杀商品List<SeckillGoods> seckillGoodsList = seckillMapper.queryAllSeckillGoods();for(SeckillGoods goods : seckillGoodsList) {String goodsId = goods.getId();Integer stock = goods.getGoodsStock();HashOperations hashOperations = redisTemplate.opsForHash();hashOperations.put(CONSTANT.SECKILLGOODS, goodsId, stock);}// 缓存秒杀订单List<SeckillOrder> seckillOrderList = seckillMapper.queryAllSeckillOrder();for(SeckillOrder seckillOrder : seckillOrderList) {String userId = seckillOrder.getUserId();String goodsId = seckillOrder.getGoodsId();HashOperations hashOperations = redisTemplate.opsForHash();hashOperations.put(CONSTANT.SECKILLORDER, userId + "," + goodsId, CONSTANT.SECKILLORDER);}}

3.2 核心业务逻辑

@Override
public Map<String, String> buySeckillGoods(String userId, String goodsId) {Map result = new HashMap<String, String>();RLock lock = redisson.getLock(CONSTANT.SECKILLLOCK); // 拿不到会自己阻塞try {lock.lock();// 检查Redis秒杀商品是否有库存Integer stock = (Integer) redisTemplate.opsForHash().get(CONSTANT.SECKILLGOODS, goodsId);if(stock <= 0) {result.put("msg", "秒杀商品库存不足!");result.put("success", "400");return result;}// 检查该用户是否秒杀过该商品Object orderConstant = redisTemplate.opsForHash().get(CONSTANT.SECKILLORDER, userId + "," + goodsId);if(orderConstant != null) {result.put("msg", "该用户已经秒杀过该商品了!");result.put("success", "400");return result;}// Redis新增订单String orderId = UUID.randomUUID().toString();SeckillOrder seckillOrder = new SeckillOrder();seckillOrder.setId(orderId);seckillOrder.setGoodsId(goodsId);seckillOrder.setUserId(userId);redisTemplate.opsForHash().put(CONSTANT.SECKILLORDER, userId + "," + goodsId, CONSTANT.SECKILLORDER);// Redis减少库存redisTemplate.opsForHash().put(CONSTANT.SECKILLGOODS, goodsId, stock-1);// MQ处理库存和订单rabbitTemplate.convertAndSend("seckillGoodsExchange", "seckillGoodsRouting", seckillOrder);rabbitTemplate.convertAndSend("seckillOrderExchange", "seckillOrderRouting", seckillOrder);}catch (Exception e) {e.printStackTrace();}finally {lock.unlock(); // 解锁}result.put("msg", "秒杀商品成功!");result.put("success", "200");return result;
}

4. 其他

还存在其他的补充点(订单支付超时、订单真实支付、MQ消息问题、Redis单机问题等),如果喜欢请三连,我会继续更新。

需要完整代码或帮忙搭建环境,请留下邮箱。

http://www.yayakq.cn/news/449354/

相关文章:

  • 高端网站建设磐石网络好桂林最新消息
  • 潮州营销型网站建设推广公司注册网上签字流程
  • 公司网站网页制作建议美词原创网站建设
  • 做网站原型图用什么软件跨境电商网络营销方式
  • 有哪些做二手的网站asp iis设置网站路径
  • 内网建设网站wordpress-akina
  • 建设银行官网首页网站招聘做音乐网站要多少钱
  • 做餐饮系统网站wordpress同步公众号文章
  • wordpress 商铺徐州关键词优化平台
  • 东莞公司官网建站访问中国建设银行官方网站
  • 个人做财经类网站wordpress 主题 星球
  • 网站建设合同怎么写上海品牌网站建设公司
  • 哈尔滨网页设计网站模板在百度上建网站怎么建设
  • 织梦做网站建立数据库杭州网站建设费用价格
  • 名律汇网站建设设计seo排名影响因素主要有
  • 网站中弹出广告怎么做的可以制作视频的软件
  • 纵横天下营销型网站建设泸州 网站建设
  • 中企动力成都分公司网站建设案例软件公司做网站推广科目
  • 上海哪家网站建设比较好天眼查询个人怎么查
  • 网站建设+用ftp上传文件电商网站 编程语言
  • 烟台外贸网站建设公司东莞网络营销推广运营
  • 怎么在ftp看网站后台地址网站制作方案解决办法
  • 做价值投资有哪些网站做qq图片的网站有哪些
  • 广东旅游网站建设方案怎么申请公司网站注册
  • 网站开发需求分析包括什么wordpress 导出 新闻
  • 做新闻类网站需要什么资质广州开发区人才工作集团有限公司
  • 微信网站是多少钱vps如何创建网站
  • 做外贸哪些网站可以发布产品设计网站接单
  • 深圳网站建设服务中心wordpress添加备案信息
  • 建设网站经营范围重庆观音桥网站建设