面试必问:redis分布式锁

本文探讨了在分布式系统中Redis实现分布式锁的原理和问题,包括使用SETNX命令、设置过期时间解决死锁、利用Lua脚本保证原子性以及Redisson的自动续期功能。同时提到了在主从+哨兵模式下可能遇到的问题,引出了Redlock作为解决方案。
摘要由CSDN通过智能技术生成

众所周知,redis是一个开源的高性能的基于内存运行的键值对数据库,现在众多商品信息网站和app在应用着redis,那么redis的安全性能也就值得注意,本文基于redis如何实现分布式锁和锁的一些问题进行讨论,都是个人总结的,借鉴自敖丙大佬,若有偏差,还请多多批评!

既然是分布式锁,萌新肯定会疑问,为什么会有分布式锁,这里就先大概说一下分布式锁是怎么来的。

框架的演进:
传统互联网最开始的架构为单体架构,即前端和后端都在一个web项目中,部署到一台tomcat容器上,各部分之间紧密解耦,不宜开发和扩展。
单体

这时我们将单体架构内部应用拆开,具体的按照分类打包项目,垂直拓展成多个模块,分属不同项目,解决了并发,但是就会出现很多重复代码,且相互之间无法调用,这就为分布式的发展提供了动力。
垂直
在一个分布式的系统中我们将整个服务拆分成服务层和表现层,服务层提供服务,表现层控制页面交互,解决了代码重复,但是又出现了多层调用的关系。
分布式
这时我们出现了SOA及微服务,开始使用注册

  • 4
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值