请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

有关于分布式系统,redis的存储问题

老师,请问一下:
比如在分布式系统中,假设两台服务器都是使用的同一个redis服务器,会有一个操作是先读取数据库的数据或者请求接口数据,将得到的数据存入redis并设置一个有效期,下次先从redis中读取,若存在直接返回,若不存在,再去读取数据库或者请求接口数据,并存入redis;
如果并发很高的情况,redis中缓存刚好失效的时候,会不会存在两台服务器都去读取数据库或者请求接口,同时都存入redis的问题?
如何保证在redis中缓存失效的情况,仅有一台服务器去读取数据库或者请求接口,结果存入redis,另外一台直接从redis中可以读取到数据?

正在回答 回答被采纳积分+3

1回答

若鱼1919 2019-03-19 08:37:45

这种情况是存在的,不需要处理。存两次也不影响业务逻辑的

0 回复 有任何疑惑可以回复我~
  • 提问者 若雨灬 #1
    有些是不影响的,比如从数据库取出数据存入redis,但是有些可能会有影响,比如请求接口,获取到类似token的值存入redis,有没有什么解决办法呢?
    回复 有任何疑惑可以回复我~ 2019-03-19 09:51:16
  • 若鱼1919 回复 提问者 若雨灬 #2
    有影响的单独处理,没有通用的解决办法
    回复 有任何疑惑可以回复我~ 2019-03-19 09:58:24
问题已解决,确定采纳
还有疑问,暂不采纳
意见反馈 帮助中心 APP下载
官方微信