快捷搜索: 王者荣耀 脱发

java开发过程中所遇到的问题

一、开发过程中遇到难的问题

1.1、重复下单 (解决:redis锁 锁单)

1.2、数据库与redis数据一致性 (下)

redis文章提到如何解决,请查看redis文章

1.3、数据库与es数据一致性 (下)

场景:
	在商城中,当商家端发布一个A商品时,把商品存入数据库,然后把商品的id
	存入到redis,通过订单任务来控制上下架的时间,那么就需要定时任务,
	通过定时任务,再从redis里面把A商品的Id取出来 ,查询出A商品的信息再存入
	redis。
	如果此时有人把A商品的库存在数据库改变了,那么Es没有改变,就会导致不同
	步,当有人改变A商品的时候,那么肯定知道A商品的ID,前段页面输入商品的ID
	再跑一次程序即可解决

1.4、下单减库存、支付减库存 (下)

下单减库存:一些恶意者只下单不买,真正想买的人无法下单,因为下单被占用
支付减库存:会出现超卖的情况,同一个商品库存为1,那么两个人都同时购买,
两个人都可以付款成功,但是这里只会出现谁先买,后买者付钱无法有货。
解决:两种方式都存在,当商家发布商品时选择需要那种方式

1.5、京东商品库存无法确定准确库存

二、开发过程中遇到一般的问题

2.1、poi导出一次性10W条数据(版本高低)

2003版只能导出65000 
2007版可以导出百万级
但是考虑到并发情况以及流的情况下,数据太多还可以使用分页导出
每页导出10000条,但对操作人员不方便

2.2、Jar包无法下载 华为云图片包、自己封转的jar包(解决:替换)

2.3、华为云上传图片失败

注入方式,不需要关闭流
	创建 new一个对象 需要手动关闭流

2.4、全国站问题(城市分站、区分站)

在商城中,一开始按城市分站显示商品
但有些商品需要在每个城市都看到,那么出现全国站,
根据站点Id来控制全国站

2.5、Redis-session共享 session监听器处理过期问题、 分布式使用什么作为key

session的监听器去监听session是否过期,如果过期那么会到redis中删除该用户信息
后端返回一个自定义的ID存到cookie中,访问的时候携带cookie查询,那么用这个cookie的值作为key

2.6、全国地区问题,2017年与最新地区如何新增?

比如2018年有一份地区表,定位code码,但是有其他表已经使用地区表的主键Id,
比如重庆市 没有九龙坡区,需要新增,怎么办,如果数据太多怎么办?
后台一个一个的新增
通过代码,先下载一份最新的地区表,更具code码来查看那些不存在的地址,
可以使用list的removeAll方法查询差值
难就难在需要九龙坡上一级的重庆的主键Id作为九龙坡区的父Id
经验分享 程序员 微信小程序 职场和发展