Skip to content

Latest commit

 

History

History
86 lines (68 loc) · 5.18 KB

Redis 和MongoDB及应用.md

File metadata and controls

86 lines (68 loc) · 5.18 KB

Redis 和MongoDB及应用

Redis

  • redis优化策略
  • redis除了做缓存还能做什么?
  • 说说redis持久化方式?分别优缺点是什么?redis更新策略是什么?
  • redis的数据结构存储?以及应用场景?如何实现集群和高可用?
  • 业务中redis如何保证可用性 怎么实现分布式锁(redis)
  • 分布式锁的实现方式,zk实现和Redis实现的比较
  • redis支持的数据类型到跳跃表,redis同步策略 ,如何自己实现lru
  • 什么是缓存击穿,redis的hotkey如何处理?如何保证数据库与缓存双写的一致性。
  • redis缓存过期策略,准备同步,哨兵机制和集群的区别
  • 遇到的问题就是“缓存穿透”和“缓存击穿”,“缓存雪崩”,双写不一致等。 如何解决上述遇到的问题?
  • redis有哪几种数据类型,如何持久化,怎么更新,使用场景,主从复制怎么做?影响redis的瓶颈?
  • NoSQL数据库,以及MongDB和Redis使用场景?
  • 缓存一致性问题 数据先写 redis?还是先写 MySQL? 写入失败怎么办? redis 或者 MySQL 挂掉怎么办?
  • redis的高可用,redis的集群方案,一致性哈希和哈希槽模式下缓存服务器宕机,数据如何迁移
  • 你知道redis为什么读写速度那么快么? redis数据装在内存中,那么数据可以持久化吗? redis数据持久化的方式有哪些呢? 这两种持久化方式的区别在哪里呢? 你知道redis的内存淘汰机制吗?redis的cluster集群原理能简单说一下吗?
  • 如何解决 Redis 的并发竞争 Key 问题
  • zset底层怎么实现的?
  • 关于Redis的主从复制?
  • Redis 怎么保证不丢数据,能不能保证严格意义的一定不会丢 Redis 集群,生产环境Redis 如何做数据迁移
  • 如何理解redis的高性能和高并发
  • Redis基本数据结构 跳表实现原理 过期处理,Redis单线程优势,影响吞吐因素,支持事务吗 Redis会遇到哪些问题 缓存一致性 穿透 雪崩,解决方案.
  • BloomFilter 知道吗?说下原理,怎么提高准确性
  • 单线程的redis如何利用多核cpu机器?
  • 有海量key和value都比较小的数据,在redis中如何存储才更省内存?
  • redis分布式锁如何保证原子性?
  • redis主备切换过程是怎样的?
  • redis的过期策略,定期删除何时终止
  • Redis如何解决key冲突?
  • 如果redis作为分布式锁的时候,主节点挂掉了,但是数据还没有同步到从节点,这种情况怎么办?
  • redis的key是如何寻址的啊?
  • 分布式缓存redis原理
  • redis分布式锁三种实现方式
  • redis和memcached 的内存管理的区别等等
  • redis的session共享的具体实现
  • 讲讲redis里面的哈希表?
  • redis 集群主从复制原理。
  • Guava缓存除了做缓存还能做什么?和Redis的优缺点。
  • redis分片取模算法。
  • redis,memcache底层客户端使用一致性Hash,看是否了解;redis的事件驱动多路复用底层实现
  • redis的事务机制;
  • Redis 有序集合实现方式有哪些; zset与set区别? list和set又有什么区别?
  • set 和setNx有什么区别
  • redis数据结构、跳跃表,redis qps能上多少,怎么知道的 ,sentinel和cluster区别和各自适用场景,redis cluster集群同步过程
  • 讲下布隆过滤器的实现机制
  • redis处理大量重复数据
  • 生产环境Redis 如何做数据迁移
  • Redis官方为什么不提供Windows版本?
  • redis 内存淘汰机制(MySQL里有2000w数据,Redis中只存20w的数据,如何保证Redis中的数据都是热点数据?)
  • Redis主要消耗什么物理资源?
  • 分布式锁的方案,redis和zookeeper那个好,如果是集群部署,高并发情况下哪个性能更好?
  • 高并发量大的话怎么处理热点,数据等。

MongoDB

  • MongoDB和MySQL的区别,各自使用场景

应用

  • 项目里用redis存哪些数据?为什么用redis?和jetty本地缓存有什么区别?

  • 发散性问题:假如有100万个玩家,需要对这100W个玩家的积分中前100名的积分,按照顺序显示在网站中,要求是实时更新的。积分可能由做的任务和获得的金钱决定。问如何对着100万个玩家前100名的积分进行实时更新?

    思路就是考虑出了前100名的后100W-100名玩家的积分,让变化的积分跟第100名比较,如果比第100名高,那就替换的原则。就是利用缓存机制,缓存---tomcat---DB,层级计算,能不用到DB层就别用,因为每进一层,实现起来都会更复杂和更慢。

  • 谈谈你对缓存雪崩、缓存穿透、缓存预热、缓存更新、缓存降级的理解?

  • 解决缓存击穿的方式有哪几种?加锁的时候什么时候选择本地锁,什么时候选择分布式锁?

  • 数据库有1万条数据,怎么很快的加载到redis?

  • 问nosql如何设计?

  • 做个微信商城,其中有各种活动,限时优惠,和秒杀,问我并发的时候怎么做处理的。

    (用redis计数器做,当秒杀的商品库存减低时,直接响应请求)

  • 设计一个防止缓存穿透的解决方案,

  • 分布式缓存实现原理,秒杀业务怎样防止超卖;

  • 实际场景问题解决:典型的TOP K问题