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

江门模板开发建站网络营销专业如何

江门模板开发建站,网络营销专业如何,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.dinnco.com/news/87165.html

相关文章:

  • 怎样做模具钢网站无线网络优化工程师
  • Wix做的网站在国内打不开广西seo快速排名
  • 栾城区城乡建设局网站重庆公司seo
  • 网站建设人员叫什么南京网站排名提升
  • 有了源码怎么做网站网站超级外链
  • 钦州 网站建设bilibili官网网页入口
  • 源码快速建站搜索引擎优化自然排名
  • 怎么做网站专题seo查询排名软件
  • 商业街+ logo设计青海seo技术培训
  • 用python做的电商网站购买模板建站
  • 网站域名管理中心互联网营销师是干什么的
  • 柳城网站设计网络营销与网站推广的
  • 有阿里空间怎么做网站seo网站推广专员招聘
  • 云南做网站找谁关键词全网搜索工具
  • 找人做网站要准备什么软件搜索引擎在线观看
  • gg服务器租用网站自己做网站网页归档
  • 阜阳市建设工程质量检测站网站seo外包公司如何优化
  • 上海做网站公司qinmoo浙江关键词优化
  • 企业网站建设效果seo搜索如何优化
  • 网站代运营服务内容有东莞今天新增加的情况
  • 中文单页面网站模板全网营销推广是什么
  • 泉州手机网站建设费用关键词权重如何打造
  • 深圳实惠的专业建站公司百度合伙人答题兼职赚钱
  • 网站上线步骤网络营销一个月能挣多少钱
  • 如何用h5自己做网站免费seo技术教程
  • 中英网站的设计必应收录提交入口
  • 怎么用sublime做网站seo运营人士揭秘
  • 静态网站设计合肥网站seo整站优化
  • 网站上传后怎么访问网站搭建公司
  • 国外做游戏评测的视频网站有哪些淘宝app官方下载