提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档
文章目录
一、直接添加Redis缓存
先来看一个常见的缓存使用方式:读请求来了,先查下缓存,缓存有值命中,就直接返回;缓存没命中,就去查数据库,然后把数据库的值更新到缓存,再返回。
出现的问题:
当高并发的情况下,出现数据不一致性。
解决方案: 加锁
当启动多个微服务并发测试时,由于每个锁的对象不同导致数据不一致性。
解决方式:分布式锁机制
可以将上述过程抽取成业务doBusiness()方法
二、使用setnx执行抢锁过程
setnx命令:
- 当key存在时,不执行任何操作。
- 当key不存在时,执行set插入操作。
操作逻辑:
出现的问题: