业务
商品有库存, 如10000 每买一个商品 库存就减一
减库存可以通过mysql来实现 如
update product_stock set stock = stock - 1 where product_id = 1 and stock > 0;
也可以使用redis来实现 如
decr 1_stock
(integer) 99
面对这种场景都说要使用redis 因为redis并发性能更好 想实际验证一下是否这样
思路
设置较大的并发数去更新库存 执行10次 比较redis和mysql花费的时间
代码
@SpringBootApplication
public class CocurrentUpdateStockApplication implements CommandLineRunner {
@Autowired
private JdbcTemplate jdbcTemplate;
@Bean
JedisConnectionFactory jedisConnectionFactory() {
return new JedisConnectionFactory();
}
@Bean
RedisTemplate redisTemplate() {
final RedisTemplate template = new RedisTemplate();
template.setConnectionFactory(jedisConnectionFactory());
template.setKeySerializer(new StringRedisSerializer(