buguge - Keep it simple,stupid

知识就是力量,但更重要的,是运用知识的能力why buguge?

导航

< 2025年2月 >
26 27 28 29 30 31 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 1
2 3 4 5 6 7 8

统计

10 2016 档案

系统中生成编号/单号问题的实现方案讨论
摘要:1. 常规实现方案:代码逻辑为从数据表里取出现有最大订单号,转换后得到新的订单号,将新的订单insert到表里。 2. 考虑并发,在1的基础上,加lock,以避免多个线程同时执行这段逻辑,导致订单号重复引起主键冲突 3. 对于2来说,这种方案仅适用于单应用部署的情况。 像电商的订单表,往往是好多系统都要生成订单, 那么,最终到数据库层级时, 也仍然会导致订单号重复引起主键冲突。 所以,要做数据库级别的锁表和事务控制。 4. 方案3的另一个版本:将生单逻辑从各业务系统解耦,封装起来单独部署。 然后提供rpc,供各业务系统调用。 这种方案的缺点是,单点部署会有风险。 阅读全文

posted @ 2016-10-21 09:14 buguge 阅读(578) 评论(0) 推荐(0) 编辑

数据库“锁”事一例:并发情景下重复主键问题方案讨论
摘要:在做的一个账单计息功能,其中,账单表的主键是BillId,varchar类型,BillId取值形如B0000001,生成规则是每次新增记录是先从账单表里计算出最大的BillId数字,然后+1再转换后作为新增记录的BillId。例如,B0000001、B0000002。 逻辑很简单,但考虑到并发,技术上就要费点心了。 阅读全文

posted @ 2016-10-19 16:12 buguge 阅读(1319) 评论(0) 推荐(0) 编辑

MySql.Data.MySqlClient.MySqlException: Parameter ‘@maxid’ must be defined
摘要:本文涉及到的mysql知识点: mysql中的if条件语句用法: IF(expr1,expr2,expr3) mysql使用变量(mysql中变量不用事前申明) mysql事务 testcase 阅读全文

posted @ 2016-10-18 18:45 buguge 阅读(1327) 评论(0) 推荐(0) 编辑

摇钱树运营小工具UI设计.vsd
摘要:去年,我负责公司的一个互联网投融资平台。系统运营过程中,业务和客服那边不断的反馈一些事情让技术这边协助实现。例如,土豪客户忘记登录密码后更愿意选择搭讪客服MM;再比如,客户多次登录导致账号被锁定,就反映给客户MM处理;再比如,运营经理定期索要到期投资报表,而系统后台现有的报表不能完全满足他们的需求。 每次处理这样的事情,开发人员都要忙上一阵子。 阅读全文

posted @ 2016-10-08 15:08 buguge 阅读(365) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示