Redis#架构师面试题
创始人
2024-11-17 19:32:33
0

1、Redis锁存在哪些问题及如何解决?

1、死锁问题

加过期时间设定

2、原子性问题

通过“set…nx...ex…”命令,将加锁、过期命令编排到一起,它们是原子操作了,可以避免死锁。

3、释放其他线程的锁问题

当过期时间设置小于线程执行时间时,因锁过期被其他线程重新获取,前面的线程删掉的是其他线程的锁。

解决:

  • 通过在value添加线程标识来解决,释放锁的时候进行线程标识判断,只删除属于自己的锁。这里又存在了原子性的问题,可以通过lua脚本或者直接使用Redisson框架解决。
  • 使用看门狗进行锁续期

4、可重入锁问题

redisson组件已经解决。

5、锁竞争问题

并发量大的时候,会降低系统并发性能。

解决:

  • 锁细化;
  • 乐观锁;
  • 读写锁;

2、缓存和数据库的数据一致性怎么解决?

1、先删缓存,再删数据库,再延迟(避免删除之前读到数据老数据的若干线程还没有将结果写入缓存,此时就会出现无效删除删一次缓存;

2、先删数据库,再删缓存(如果删除失败支持重试(可以发送给MQ))

删除缓存的操作可以通过cannal监听数据更新问题通知springboot应用进行删除来实现。

总结:推荐使用方法2,因为方法1中的延迟删除也可能会失败。相对来说方法2更简单有效。

相关内容

热门资讯

两分钟了解!微信小程序旺旺福建... 您好,微信小程序旺旺福建辅助这款游戏可以开挂的,确实是有挂的,需要了解加去威信【136704302】...
第4分钟了解!新上游拼十辅助(... 第4分钟了解!新上游拼十辅助(辅助)星悦广西麻将开挂辅助神器-切实有挂平台1、让任何用户在无需新上游...
2分钟了解!皮皮游戏挂机辅助(... 2分钟了解!皮皮游戏挂机辅助(辅助)周口麻将开挂辅助神器-都是真的是有下载1、在皮皮游戏挂机辅助插件...
6分钟了解!闲来辅助最新版下载... 6分钟了解!闲来辅助最新版下载(辅助)小闲巴渝棋牌开挂辅助脚本-原来真的是有辅助1、这是跨平台的闲来...
第三分钟了解!新永和辅助(辅助... 第三分钟了解!新永和辅助(辅助)微乐卡五星开挂辅助软件-都是真的是有平台1、新永和辅助辅助软件下载优...
第4分钟了解!荔枝竞技透视器(... 第4分钟了解!荔枝竞技透视器(辅助)指趣开挂辅助插件-竟然存在有插件亲,关键说明,荔枝竞技透视器透视...
三分钟了解!兴动互娱辅助工具下... 三分钟了解!兴动互娱辅助工具下载(辅助)点点游戏开挂辅助辅助-都是是真的软件1、这是跨平台的兴动互娱...
第7分钟了解!福州十八扑辅助(... 第7分钟了解!福州十八扑辅助(辅助)廊坊麻将开挂辅助下载-真是是有脚本1)福州十八扑辅助辅助插件:进...
四分钟了解!创思维怎么开挂(辅... 四分钟了解!创思维怎么开挂(辅助)风风棋牌开挂辅助插件-原来是有脚本;1、创思维怎么开挂公共底牌简单...
第九分钟了解!赣牌圈科技有没有... 第九分钟了解!赣牌圈科技有没有挂(辅助)STA开挂辅助工具-原来是有辅助进入游戏-大厅左侧-新手福利...