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更简单有效。

相关内容

热门资讯

重大通报!微信小程序免费黑科技... 重大通报!微信小程序免费黑科技(外挂),手机微信小程序游戏破解器竟然有挂教学进入游戏-大厅左侧-新手...
透视绝活儿!wepoker免费... 透视绝活儿!wepoker免费脚本咨询(透视)确实真的是有辅助工具(哔哩哔哩)1、wepoker免费...
连日来!wepoker怎么挂飞... 连日来!wepoker怎么挂飞机,同城游辅助器软件下载,一贯存在有辅助app(哔哩哔哩)1、同城游辅...
专业透视!werplan透视挂... 专业透视!werplan透视挂,德州透视竞技联盟(透视)切实有辅助脚本(哔哩哔哩)1、任何德州透视竞...
玩家必知教程!!微乐小程序免费... 玩家必知教程!!微乐小程序免费黑科技(外挂),微乐微信小程序辅助软件果然有挂秘籍1、不需要AI权限,...
透视大纲!sohoo poke... 透视大纲!sohoo poker辅助器(透视)都是是真的辅助神器(哔哩哔哩)1、透视大纲!sohoo...
刚刚!wepoker辅助透视软... 刚刚!wepoker辅助透视软件,小程序财神十三脚本,一直是真的有辅助方法(哔哩哔哩)一、小程序财神...
推荐透视!来玩app 德州 辅... 推荐透视!来玩app 德州 辅助,拱趴游戏破解器(透视)一直是有辅助攻略(哔哩哔哩)1、很好的工具软...
如何分辨真伪!微信小程序免费黑... 如何分辨真伪!微信小程序免费黑科技(外挂),微乐自建房安装挂免费果然确实有挂1、微信小程序免费黑科技...
透视法子!poker辅助器免费... 透视法子!poker辅助器免费安装(透视)其实真的是有辅助神器(哔哩哔哩)该软件可以轻松地帮助玩家将...