最赞回答 / 春天的雪
                                
                                                            我的理解是,缓存在redis上的seckill对象是旧的。因为其他人的秒杀行为会把数据库中的number减少,而redis上缓存的number没有改变。超时就是,一定时间后,redis上这个seckill被销毁,再次查询时就会从数据库直接拿,并且把这个拿到的最新seckill存入redis。
                            
                        
                        2018-07-28
                
            
                                最赞回答 / 精慕门6287748
                                
                                                            在执行return语句之前会执行finally语句,这个是正常的。参考https://www.cnblogs.com/jzsz/p/7860502.html
                            
                        
                        2018-07-28
                
            
                                最赞回答 / study_workSpace
                                
                                                            使用互斥锁(mutex key) ;简单点讲就是类似“锁”的机制,在缓存更新或者过期的情况下,先获取锁,在进行更新或者从数据库中获取数据后,再释放锁,需要一定的时间等待,就可以从缓存中继续获取数据String get(String key){
    String value = redis.get(key);    if(value == null){        if(redis.setnx(key_Mutex),"1"){
            redis.expire(key_mutex,3*...
                            
                        
                        2018-07-05
                
             
             
        











