博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
快点来学吧!Java性能优化最佳实践
阅读量:3436 次
发布时间:2019-05-19

本文共 2645 字,大约阅读时间需要 8 分钟。

RPC概述

RPC(Remote Procedure Call)即远程过程调用,允许一台计算机调用另一台计算机上的程序得到结果,而代码中不需要做额外的编程,就像在本地调用一样。

现在互联网应用的量级越来越大,单台计算机的能力有限,需要借助可扩展的计算机集群来完成,分布式的应用可以借助RPC来完成机器之间的调用。

01 Redis面试问题常见划分(6个部分)

  1. Redis 的概念理解
  2. Redis 基本数据结构详解
  3. Redis 高并发问题策略
  4. Redis 集群结构以及设计理念
  5. Redis 持久化机制
  6. Redis 应用场景设计
  7. Redis学习路线图(xmind)

都是“Redis惹的祸”,害我差点挂在美团三面,真是“虚惊一场”

Redis学习路线图(xmind)

02 涉及到的面试题目如下

  • Redis 的特点有哪些?
  • Redis 支持的数据类型
  • 为什么 Redis 需要把所有数据放到内存中?
  • Redis 适用场景有哪些?
  • Redis常用的业务场景有哪些?
  • Mem*** 与 Redis 的区别都有哪些?
  • Redis 相比 mem***d 有哪些优势?
  • Redis常用的命令有哪些?
  • Redis 为什么设计成单线程的?
  • 一个字符串类型的值能存储最大容量是多少?
  • Redis各个数据类型最大存储量分别是多少?
  • Redis 持久化机制有哪些? 区别是什么?
  • 请介绍一下 RDB, AOF两种持久化机制的优缺点?
  • 什么是缓存穿透?怎么解决?
  • 什么是缓存雪崩? 怎么解决?
  • Redis支持的额Java客户端有哪些? 简单说明一下特点。
  • 缓存的更新策略有几种?分别有什么注意事项?
  • 什么是分布式锁?有什么作用?
  • 分布式锁可以通过什么来实现?
  • 介绍一下分布式锁实现需要注意的事项?
  • Redis怎么实现分布式锁?
  • 常见的淘汰算法有哪些?
  • Redis 淘汰策略有哪些?
  • Redis 缓存失效策略有哪些?
  • Redis 的持久化机制有几种方式?
  • 请介绍一下持久化机制 RDB, AOF的优缺点分别是什么?
  • Redis 是单线程的吗?
  • Redis 通讯协议是什么?有什么特点?
  • 请介绍一下 Redis 的数据类型 SortedSet(zset) 以及底层实现机制?
  • Redis 集群最大节点个数是多少?
  • Redis 集群的主从复制模型是怎样的?
  • Redis 如何做内存优化?
  • Redis 事务相关命令有哪些?什么是 Redis 事务?原理是什么?
  • Redis 事务的注意点有哪些?
  • Redis 为什么不支持回滚?
  • 请介绍一下 Redis 集群实现方案
  • 请介绍一下 Redis 常见的业务使用场景?
  • Redis 集群会有写操作丢失吗?为什么?
  • 请介绍一下 Redis 的 Pipeline (管道),以及使用场景
  • 请说明一下 Redis 的批量命令与 Pipeline 有什么不同?
  • Redis 慢查询是什么?通过什么配置?
  • Redis 的慢查询修复经验有哪些? 怎么修复的?
  • 请介绍一下 Redis 的发布订阅功能
  • 请介绍几个可能导致 Redis 阻塞的原因
  • 怎么去发现 Redis 阻塞异常情况?
  • Redis 的内存消耗分类有哪些?内存统计使用什么命令?
  • 简单介绍一下 Redis 的内存管理方式有哪些?
  • 如何设置 Redis 的内存上限?有什么作用?
  • 什么是 bigkey? 有什么影响?怎么发现bigkey?
  • 请简单描述一下 Jedis 的基本使用方法?
  • Jedis连接池链接方法有什么优点?
  • 冷热数据表示什么意思?
  • 缓存命中率表示什么?怎么提高缓存命中率?
  • 如何优化 Redis 服务的性能?
  • 如何实现本地缓存?请描述一下你知道的方式
  • 请介绍一下 Spring 注解缓存
  • 如果 AOF 文件的数据出现异常, Redis服务怎么处理?
  • Redis 的主从复制模式有什么优缺点?
  • Redis sentinel (哨兵) 模式优缺点有哪些?
  • Redis 集群架构模式有哪几种?
  • 如何设置 Redis 的最大连接数?查看Redis的最大连接数?查看Redis的当前连接数?
  • Redis 的链表数据结构的特征有哪些?
  • 请介绍一下 Redis 的 String 类型底层实现?
  • Redis 的 String 类型使用 SSD 方式实现的好处?
  • 设计一下在交易网站首页展示当天最热门售卖商品的前五十名商品列表?
  • … …

面试问题的答案解析太长,这边就不一一列举出来了,已经整理成如下所示的PDF文档,有需要的朋友可以文末领取!

都是“Redis惹的祸”,害我差点挂在美团三面,真是“虚惊一场”

Redis面试问题解析

03 最后看看我自己整理的一份Redis学习笔记

  • 为什么要用 redis /为什么要用缓存(高性能、高并发)
  • 为什么要用 redis 而不用 map/guava 做缓存?
  • redis 常见数据结构以及使用场景分析(String、Hash、List、Set、Sorted Set
  • redis 内存淘汰机制(MySQL里有2000w数据,Redis中只存20w的数据,如何保证Redis中的数据都是热点数据?
  • redis 持久化机制(怎么保证 redis 挂掉之后再重启数据可以进行恢复
  • Redis 常见异常及解决方案(缓存穿透、缓存雪崩、缓存预热、缓存降级
  • 分布式环境下常见的应用场景(分布式锁、分布式自增 ID
  • Redis 集群模式(主从模式、哨兵模式、Cluster 集群模式
  • 如何解决 Redis 的并发竞争 Key 问题?
  • 如何保证缓存与数据库双写时的数据一致性?
  • … …

都是“Redis惹的祸”,害我差点挂在美团三面,真是“虚惊一场”

我的Redis学习笔记

最后:学习总结——MyBtis知识脑图(纯手绘xmind文档)

学完之后,若是想验收效果如何,其实最好的方法就是可自己去总结一下。比如我就会在学习完一个东西之后自己去手绘一份xmind文件的知识梳理大纲脑图,这样也可方便后续的复习,且都是自己的理解,相信随便瞟几眼就能迅速过完整个知识,脑补回来。下方即为我手绘的MyBtis知识脑图,由于是xmind文件,不好上传,所以小编将其以图片形式导出来传在此处,细节方面不是特别清晰。但可给感兴趣的朋友提供完整的MyBtis知识脑图原件(包括上方的面试解析xmind文档)

image

除此之外,前文所提及的Alibaba珍藏版mybatis手写文档以及一本小小的MyBatis源码分析文档——《MyBatis源码分析》等等相关的学习笔记文档,也皆可分享给认可的朋友!

一本小小的MyBatis源码分析文档——《MyBatis源码分析》等等相关的学习笔记文档,也皆可分享给认可的朋友!

转载地址:http://ocftj.baihongyu.com/

你可能感兴趣的文章
mysql原理:join标到底是什么,为什么有军规不建议超过三个
查看>>
redis缓存穿透
查看>>
redis缓存雪崩
查看>>
mysql的事务隔离
查看>>
mvc架构
查看>>
ElasticSearch(0) ES的认识
查看>>
JPA入门
查看>>
JPA关系
查看>>
4.spring注解和生命周期相关的(了解)
查看>>
3.spring 的纯注解配置
查看>>
4.Spring 整合 Junit
查看>>
安装配置 Kali Linux 笔记
查看>>
持久加密U盘安装 Kali Linux 笔记
查看>>
[ 笔 记 ] netcat 传输信息 / banner
查看>>
[ 笔 记 ] 主动信息收集_002
查看>>
[ CTF ] ssh私钥泄漏_笔记
查看>>
设计模式学习
查看>>
操作系统学习总结
查看>>
Java JSON字符串与自定义类/基本类型相互转换
查看>>
Java中时间戳和时间格式的转换
查看>>