前言
MyBatis是一个支持普通SQL查询、存储过程和高级映射的优秀持久层框架。MyBatis 去掉了几乎所有的JDBC代码和参数的手工设置以及对结果集的检索封装。MyBatis可以使用简单的XML或注解进行配置和原始映射,以将接口和Java的POJO (Plain Old Java Objects,普通的Java对象)映射成数据库中的记录。
MyBatis作为持久层框架,其主要思想是将程序中的大量SQL语句剥离出来,配置在配置文件中,以实现SQL的灵活配置。这样做的好处是将SQL与程序代码分离,做到可以在不修改程序代码的情况下,直接在配置文件中修改SQL。
在这里分享一份 [mybatis从入门到精通] 的强力教程,定能够助你一臂之力。
概述
- 什么是Redis
- Redis有哪些优缺点
- 为什么要用Redis /为什么要用缓存
- 为什么要用Redis而不用map/guava做缓存?
- Redis为什么这么快
二、数据类型
- Redis有哪些数据类型
- Redis的应用场景
三、持久化
- 什么是Redis持久化?
- Redis的持久化机制是什么?各自的优缺点?
- 如何选择合适的持久化方式
- Redis持久化数据和缓存怎么做扩容?
四、过期键的删除策略
- Redis的过期键的删除策略
- Redis key的过期时间和永久有效分别怎么设置?
- 我们知道通过expire来设置key的过期时间,那么对过期的数据怎么处理呢?
五、内存相关
- MySQL里有2000w数据,redis中只存20w的数据, 如何保证redis中的数据都是热点数据
- Redis的内存海汰策略有哪些
- Redis主要消耗什么物理资源?
- Redis的内存用完了会发生什么?
- Redis如何做内存优化?
六线程模型
- Redis线程模型
七.事务
- 什么是事务?
- Redis事务的概念
- Redis事务的三个阶段
- Redis事务相关命令
- 事务管理(ACID)概述
- Redis事务支持隔离性吗
- Redis事务保证原子性吗,支持回滚吗
- Redis事务其他实现
八集群方案
- 哨兵模式.
- 官方Redis Cluster 方案(服务端路由查询)
- 基于客户端分配
- 基于代理服务器分片
- Redis主从架构
- Redis集群的主从复制模型是怎样的?
- 生产环境中的redis是怎么部署的?
- 说说Redis哈希椿的概念?
- Redis集群会有写操作丢失吗?为什么?
- Redis集群之间是如何复制的?
- Redis集群最大节点个数是多少?
- Redis集群如何选择数据库?
九、分区
- Redis是单线程的,如何提高多核CPU的利用率?
- 为什么要做Redis分区?
- 你知道有哪些Redis分区实现方案?
- Redis分区有什么缺点?
十、分布式问题
- Redis实现分布式锁
- 如何解决Redis的并发竞争Key问题
- 分布式Redis是前期做还是后期规模上来了再做好?为什么?
- 什么是RedLock
十一、缓存异常
- 缓存雪崩
- 缓存穿透
- 缓存击穿
- 缓存预热
- 缓存降级
- 热点数据和冷数据
- 缓存热点key
十二、常用工具
- Redis支持的Java客户端都有哪些?官方推荐用哪个?
- Redis和Redisson有什么关系?
- Jedis与Redisson对比有什么优缺点?
十三、其他问题
- Redis与Memcached的区别
- 如何保证缓存与数据库双写时的数据一致性?
- Redis常见性能问题和解决方案?
- Redis官方为什么不提供Windows版本?
- 一个字符串类型的值能存储最大容量是多少?
- Redis如何做大量数据插入?
- 假如Redis里面有1亿个key,其中有10w个key是以某个固定的已知的前缀开头的,如果将它们全部找出来?
- 使用Redis做过异步队列吗,是如何实现的
- Redis如何实现延时队列
- Redis回收进程如何工作的?
- Redis回收使用的是什么算法?
Redis面试复习大纲部分截图-001
总结
上述知识点,囊括了目前互联网企业的主流应用技术以及能让你成为“香饽饽”的高级架构知识,每个笔记里面几乎都带有实战内容。
很多人担心学了容易忘,这里教你一个方法,那就是重复学习。
打个比方,假如你正在学习 spring 注解,突然发现了一个注解@Aspect,不知道干什么用的,你可能会去查看源码或者通过博客学习,花了半小时终于弄懂了,下次又看到@Aspect 了,你有点郁闷了,上次好像在哪哪哪学习,你快速打开网页花了五分钟又学会了。
从半小时和五分钟的对比中可以发现多学一次就离真正掌握知识又近了一步。
人的本性就是容易遗忘,只有不断加深印象、重复学习才能真正掌握,所以很多书我都是推荐大家多看几遍。哪有那么多天才,他只是比你多看了几遍书。
本文已被CODING开源项目:【一线大厂Java面试题解析+核心总结学习笔记+最新讲解视频+实战项目源码】收录