redis09_秒杀案例eclipse中使用redis有问题,待重新整

Posted 平凡加班狗

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了redis09_秒杀案例eclipse中使用redis有问题,待重新整相关的知识,希望对你有一定的参考价值。

秒杀案例(上)系列文章目录

分析

先分析一下,商品应该用什么数据类型来存储,redis五种数据类型使用哪种?
String类型可以满足吗
一个key 一个值 是String类型的
答案是,可以满足

redis有5种数据类型,怎么选择用哪种数据类型?

hash是用来存对象的,我们这里不需要
zset是有序的,我们这里不一定要有序
那么就是List和Set里面选择了
我们选择Set,为什么不选择List是因为我们的成功者成功抢到之后,就应该这个商品不能再抢了,因为已经秒杀到了
List不会帮我们去重,而Set可以帮助我们去除重复
所以最终选择了Set

代码

同样的,这块我们也提供了基础代码

分析代码


界面非常简单,就是一个按钮

为什么一定要获取到用户的Id,因为我们必须要知道具体是哪个用户来进行的秒杀
用户Id和商品Id我们都要知道






0或者是null都说明qtValue没有初始化过


这个时候大家想一想还有没有其它情况
比如用户,他秒杀成功之后会不会又重新进来秒杀一次
所以我们要做判断,每个用户只能秒杀一次
怎么判断用户是否秒杀成功过

redis里面的Set数据类型有这个方法,根据key判断某个成员是否存在

现在还有其它的情况吗
商品我们判断了
用户我们判断了
按道理是不会有什么情况了

启动项目,有问题再微调






这样就完成了
但是我们想一个问题,就是如果我们并发访问的时候会不会有什么问题呢?

以上是关于redis09_秒杀案例eclipse中使用redis有问题,待重新整的主要内容,如果未能解决你的问题,请参考以下文章

08-Redis_事务_锁机制_秒杀案例分析

Redis学习总结(中)——事务持久化和主从复制

Redis案例——商品秒杀,购物车

Redis 学习Redis事务秒杀案例

Redis 学习Redis事务秒杀案例

Redis 学习Redis事务秒杀案例