Q:
Redis集群最大节点个数是多少?

16384个

Q:
Redis集群的主从复制模型是怎样的?

为了使在部分节点失败或者大部分节点无法通信的情况下集群仍然可用,所以集群使用了主从复制模型,每个点都会有N-1个复制品

Q:
Redis和 Redisson有什么关系?

Redisson是一个高级的分布式协调redis客服端,能帮助用户在分布式环境中轻松实现一些java的对象(Bloom filter,BitSet,set, SetMultimap, ScoredSortedSet,SortedSet, Map,ConcurrentMap, List, List Multimap, Queue, BlockingQueue, Deque, Blocking Deque, Semaphore, Lock, ReadWriteLock, Atomi cLong, CountDownLa, Publish/ Subscribe, HyperLogLog)

Q:
MySQL里有2000w数据, redis中只存20w的数据,如何保证 redis中的数据都是热点数据?

redis内存数据集大小上升到一定大小的时候,就会实行数据淘汰策略。

Q:
Redis集群方案应该怎么做?都有哪些方案?

1.codis
目前用的最多的集群方案,基本和 twemproxy一致的效果,但它支持在节点数量改变情况下,旧节点数据可恢复到新hash节点。

2.redis cluster3.0
自带的集群,特点在于他的分布式算法不是一致性hash,而是hash槽的概念,以及自身支持节点设置从节点。

3.在业务代码层实现
起几个毫无关联的 redis实例,在代码层对key进行hash计算,然后去对应的 redis实例操作数据。这种方式对hash层代码要求比较高,考虑部分包括,节点失效后的替代算法方案,数据震荡后的自动脚本恢复,实例的监控等等。

Q:
Redis集群方案什么情况下会导致整个集群不可用?

有A,B,C三个节点的集群,在没有复制模型的情况下,如果节点B失败了,那么整个集群就会因为缺少5501-11000这个范围的槽而不可用。

Q:
假如 Redis里面有1亿个key,其中有10w个key是以某个固定的已知的前缀开头的,如果将它们全部找出来?

使用keys指令可以扫出指定模式的key列表。

对方接着追问如果这个 redis正在给线上的业务提供服务,那使用keys指令会有什么问题?这个时候你要回答 redis关键的一个特性redis的单线程的。keys指令会导致线程阻塞一段时间,线上服务会停顿,直到指令执行完毕,服务才能恢复。这个时候可以使用scan指令,scan指令可以无阻塞的提取出指定模式的key列表,但是会有一定的重复概率,在客户端做一次去重就可以了,但是整体所花费的时间会比直接用keys指令长。

Q:
主从数据库不一致如何解决?

对于主从库,读写分离,如果主从库更新同步有时差,就会导致主从库数据的不一致
1、忽略这个数据不一致,在数据一致性要求不高的业务下,未必需要时时一致性
2、强制读主库,使用一个高可用的主库,数据库读写都在主库,添加一个缓存,提升数据读取的性能。
3、选择性读主库,添加一个缓存,用来记录必须读主库的数据,将哪个库,哪个表,哪个主键,作为缓存的key,设置缓存失效的时间为主从库同步的时间,如果缓存当中有这个数据,直接读取主库;如果缓存当中没有这个主键,就到对应的从库中读取。

Q:
缓存与数据库不一致怎么办?

假设采用的主存分离,读写分离的数据库,如果一个线程A先删除缓存数据,然后将数据写入到主库当中,这个时候,主库和从库同步没有完成,线程B从缓存当中读取数据失败,从从库当中读取到旧数据,然后更新至缓存,这个时候,缓存当中的就是旧的数据。
发生上述不一致的原因在于,主从库数据不一致问题,加入了缓存之后,主从不一致的时间被拉长了;
处理:在从库有数据更新之后,将缓存当中的数据也同时进行更新,即当从库发生了数据更新之后,向缓存发出删除,淘汰这段时间写入的旧数据。

分布式面试题(二):分布式Redis相关推荐

  1. 微服务-分布式锁(二)-Redis方案

    1 LUA+SETNX+EXPIRE 先用setnx来抢锁,如果抢到之后,再用expire给锁设置一个过期时间,防止锁忘记了释放. setnx(key, value) setnx 的含义就是 SET ...

  2. 蚂蚁中间件团队Java面试题:Netty+Redis+Kafka+MongoDB+分布式

    蚂蚁中间件一面: 自我介绍 JVM垃圾回收算法和垃圾回收器有哪些,最新的JDK采用什么算法. 新生代和老年代的回收机制. 讲一下ArrayList和linkedlist的区别,ArrayList与Ha ...

  3. Redis面试题及分布式集群

    Redis面试题及分布式集群 Reference: http://blog.csdn.net/yajlv/article/details/73467865 1. 使用Redis有哪些好处? (1) 速 ...

  4. JAVA知识体系之分布式篇(七)——Redis

    1.Redis概述 1.1 Redis诞生历程   Redis的作者笔名叫antirez,2008年的时候他做了一个记录网站访问情况的系统,比如每天有多少个用户,多少个页面被浏览,访客的IP.操作系统 ...

  5. redis setnx 分布式锁_手写Redis分布式锁

    分布式锁使用场景 现在的系统都是集群部署,每个服务都不是单节点的了.比如库存服务,可能部署到3台机器上分别命名为节点1,节点2,节点3.库存服务需要扣减库存,扣减库存肯定需要锁吧,如果使用Lock或者 ...

  6. 大话分布式理论之二——共识算法与一致性的区别

    [系列目录] 大话分布式理论之二--共识算法与一致性的区别 大话分布式理论之一--从单体到SOA再到微服务 文章目录 共识算法 拜占庭将军问题 分布式理论中的将军们 共识算法-Paxos/Raft等 ...

  7. 分布式一致性协议 Gossip 和 Redis 集群原理解析

    分布式一致性协议 Gossip 和 Redis 集群原理解析 Redis 是一个开源的.高性能的 Key-Value 数据库.基于 Redis 的分布式缓存已经有很多成功的商业应用,其中就包括阿里 A ...

  8. 分布式面试全家桶:分布式事务+分布式锁+分布式缓存+分布式面试题+分布式项目

    一.分布式事务 1.分布式事务简介 2.Seata简介 3.Seata-Server安装 4.Seata配置Nacos注册中心和配置中心 5.Seata-AT模式   6.XA协议 7.Seata整体 ...

  9. 关于分布式锁的面试题都在这里了|Reids分布式锁|ZooKeeper分布式锁

    我今天班儿都没上,就为了赶紧把这篇文章分布式锁早点写完.我真的不能再贴心了. 边喝茶边构思,你们可不要白嫖了! 三连来一遍? 引言 为什么要学习分布式锁? 最简单的理由就是作为一个社招程序员,面试的时 ...

  10. 分布式专题|吐血整理Redis 十四大知识点,帮助小白从0到1蜕变

    文章目录 摘要 环境搭建 redis Docker方式安装 使用源码方式安装redis 一.五种基本数据类型的操作与应用场景 string 字符串类型 基本指令 应用场景 hash(哈希) 基本操作指 ...

最新文章

  1. Error:Execution failed for task ':app:dexDebug'. com.android.ide.common.process.ProcessException
  2. 敏捷软件开发实践——估算与计划(01)
  3. android studio大坑 executing external native build for cmake
  4. 缓存的Cache Aside模式
  5. 截至2018年,目前,企业主流的消息中间件有哪些?各有什么优缺点?面试常问 RabbitMQ使用较多
  6. asp.net文本编辑器FCKeditor使用方法详解 - 橙色大地 - 博客园
  7. SQLCE数据库的几点研究
  8. android自定义view案例,Android自定义View,你摸的透透的了?
  9. 小班语言教案《水果屋》
  10. 安装Eclipse的中文语言包
  11. ARCore-普及篇
  12. TypeError: decoding str is not supported
  13. 记录一下我的phpcms下载模板的下载列表页面不能够显示出列表页面
  14. 视频播放器(AVPlayer)
  15. jstree的属性设置
  16. 详解 Web Worker,不再止步于会用
  17. 企业即时通讯软件是什么?它有哪些优势呢?
  18. 百度聚合时,label文字隐藏问题
  19. mysql slap_mysqlslap 压测工具使用说明
  20. 【FAQ】软件保护系统Themida常见问题集锦(二)—“Taggant信息”功能的用途是什么?...

热门文章

  1. 唐宇迪学习笔记2:Python数据分析处理库——pandas
  2. jenkins教程菜鸟_jenkins 入门教程(上)
  3. Docker配置阿里云加速器
  4. UDS协议入门之10服务
  5. 特斯拉-数据分析师-SQL笔试题
  6. 2022电力电缆考试题及答案
  7. 微信小程序商城模板平台分享
  8. aspen中再沸器模拟_aspen换热器的模拟计算
  9. 511遇见易语言大漠模块制作教程找图FindPic
  10. maven项目中配置pom.xml引用ojdbc14.jar出错