Redis面试

原理

  • Redis数据类型及实现
  • 过期时间实现
  • 跳表
  • Redis直接操作是什么???
  • 持久化
  • 事务
  • Redis为什么这么快
  1. 直接操作内存
  2. 底层使用C语言并重写了一些C语言数据结构,如String,使得一些API比原生的C要快,如获得String长度 https://www.cnblogs.com/AshOfTime/p/10616044.html
  3. 单线程,避免了线程切换的代价
  4. 单线程,没有并发问题,避免了锁带来的性能开销
  5. IO多路复用,单线程可以监控多个IO https://zhuanlan.zhihu.com/p/24252862

应用

  • 保证Redis缓存和数据库一致性
  • 路由
  • 单线程

集群

  • (哈希槽,主从复制,节点选举,MOVE和ASK等等)
  • 主从复制
  1. 2.8之前,断线出发全量复制
  2.  2.8后,命令传播阶段增量复制
  3.  主从节点 从从节点
  4. 异步性
  • 如何保证高可用性
  • 分布式锁
posted @ 2019-04-27 17:35  AshOfTime  阅读(144)  评论(0编辑  收藏  举报