简单提一下INSERT IGNORE INTO success_killed(seckill_id,user_phone,state)
VALUES (v_seckill_id,v_phone,0); insert语句这里应该修改state 而不是kill_time
另外 这种使用存储过程的方式是没有推不推荐 的 只不过在使用的时候看需求
老师的需求是 默认使用最大并发量的方式讲解的,至于使不使用存储过程在于我们的项目需求,多知道总归是好的
VALUES (v_seckill_id,v_phone,0); insert语句这里应该修改state 而不是kill_time
另外 这种使用存储过程的方式是没有推不推荐 的 只不过在使用的时候看需求
老师的需求是 默认使用最大并发量的方式讲解的,至于使不使用存储过程在于我们的项目需求,多知道总归是好的
2017-04-11
看完整套视频,总结一下,如有请见谅:
尤其觉得老师的service层接口的设计思想特别好,还有web层的Restful接口的设计,
但是日志和异常没有独立出来处理,这点就不是很好了,当然,老师主要要讲的不是这些,而是秒杀系统的优化和这个系统的架构,还是要感谢老师花了这么长的时间来给我们讲解,其它的再慢慢重构吧!
尤其觉得老师的service层接口的设计思想特别好,还有web层的Restful接口的设计,
但是日志和异常没有独立出来处理,这点就不是很好了,当然,老师主要要讲的不是这些,而是秒杀系统的优化和这个系统的架构,还是要感谢老师花了这么长的时间来给我们讲解,其它的再慢慢重构吧!
2017-04-06
最新回答 / 金大侠
缓存(内存数据)都是要和数据库(磁盘数据)打交道的,那么用Mybatis的缓存,你能控制它什么时候与mysql打交道么?具体怎么打交道你能控制么?我不是很了解mybatis的缓存,我只用过hibernate的缓存,但想来是差不多的,他们的缓存与数据库的同步都是要发sql的,尽管它的sql发送时机和sql语句的结构做了优化,但是它是自动的,你没法去控制。redis做缓存,你可以完全控制,而且控制起来很简便。这是第一点,自定义控制逻辑上来说,不如redis。第二点,学习成本上来说,redis非常低,操作简单易...
2017-04-05