1.使用场景 需要保证一个方法在同一时间内只能被同一个线程执行 2.实现方式:加锁和解锁 3.方案,考虑因素(性能,稳定,实现难度,死锁) 基于数据库做分布式锁--乐观锁(基于版本号)和悲观锁(基于排它锁) 基于 redis 做分布式锁:setnx(key,当前时间+过期时间 ...
说一道常见面试题: 使用Redis分布式锁的详细方案是什么 一个很简单的答案就是去使用 Redission 客户端。Redission 中的锁方案就是 Redis 分布式锁的比较完美的详细方案。 那么,Redission 中的锁方案为什么会比较完美呢 正好,我用 Redis 做分布式锁经验十分丰富,在实际工作中,也探索过许多种使用 Redis 做分布式锁的方案,经过了无数血泪教训。 所以,在谈及 ...
2022-03-16 10:44 2 2678 推荐指数:
1.使用场景 需要保证一个方法在同一时间内只能被同一个线程执行 2.实现方式:加锁和解锁 3.方案,考虑因素(性能,稳定,实现难度,死锁) 基于数据库做分布式锁--乐观锁(基于版本号)和悲观锁(基于排它锁) 基于 redis 做分布式锁:setnx(key,当前时间+过期时间 ...
Reference: http://blog.csdn.net/yajlv/article/details/73467865 1. 使用Redis有哪些好处? (1) 速度快,因为数据存在内存中,类似于HashMap,HashMap的优势就是查找和操作的时间复杂度都是O ...
摘要:今天我们来聊聊分布式锁这块知识,具体的来看看Redis分布式锁的实现原理。 一、写在前面 现在面试,一般都会聊聊分布式系统这块的东西。通常面试官都会从服务框架(Spring Cloud、Dubbo)聊起,一路聊到分布式事务、分布式锁、ZooKeeper等知识。 所以咱们这篇 ...
1、面试题 如何保证Redis的高并发和高可用?redis的主从复制原理能介绍一下么?redis的哨兵原理能介绍一下么? 2、面试官心里分析 其实问这个问题,主要是考考你,redis单机能承载多高并发?如果单机扛不住如何扩容抗更多的并发?redis会不会挂 ...
1、面试题 es的分布式架构原理能说一下么(es是如何实现分布式的啊)? 2、面试官心里分析 在搜索这块,lucene是最流行的搜索库。几年前业内一般都问,你了解lucene吗?你知道倒排索引的原理吗?现在早已经out了,因为现在很多项目都是直接用基于lucene ...
分布式分为分布式缓存(Redis)、分布式锁(Redis或Zookeeper)、分布式服务(Dubbo或SpringCloud)、分布式服务协调(Zookeeper)、分布式消息队列(Kafka、RabbitMq)、分布式Session、分布式事务、分布式搜索(elastaticSearch ...
1、面试题 es在数据量很大的情况下(数十亿级别)如何提高查询效率啊? 2、面试官心里分析 问这个问题,是肯定的,说白了,就是看你有没有实际干过es,因为啥?es说白了其实性能并没有你想象中那么好的。很多时候数据量大了,特别是有几亿条数据的时候,可能你会懵逼的发现,跑 ...
1、面试题 redis和memcached有什么区别?redis的线程模型是什么?为什么单线程的redis比多线程的memcached效率要高得多(为什么redis是单线程的但是还可以支撑高并发)? 2、面试官心里分析 这个是问redis的时候,最基本的问题 ...