Redis
- 面试简单介绍:首先它是一个处于缓存层的数据库:以键值对存储,基于内存(不是硬盘),所以速写快速;单线程运行,多路IO复用。
- 如何使用:有多种使用模式,单例模式,哨兵模式,主从模式,集群模式等。
- 数据持久化:两种方式,一个是快照存储模式,一个是随即保存模式,即是每一次读写都会保存(这个同样保证了数据的一致性)。
- 数据一致性:设置间隔时间更新删除数据,同时也可以使用事务机制操作redis每一次读写操作。
- Redis常见问题以及如何解决:穿透:直接到Mysql去查询,因为redis没有对应的数据,那么设置一个null就行,不过,需要设置过期时间。
- Redis怎么设置分布式锁:set key value值,主要解决进程间同步访问资源的问题,Redis分布式锁是其中的一个解决方式,主要用redission框架。
- 淘汰策略:设置定时淘汰,主要参数有淘汰删除时间间隔等。
8:Redis到底怎么解决高并发:内存存储快,IO多路复用,不浪费IO读取时间。
Mysql:
1.索引是什么:通过一种规则,关键字,来找到数据库表单中某一列的某个值。
2.Mysql索引怎么实现:通过数据结构,树啊,还是B+树(Hash啊,这个少)
3.数据库三大范式:1.列不能再分割,就是列的原子性。2.就是必须有主键。3.非主键必须依赖主键。
4.数据库AICD:原子性,数据一致性,数据持久性,数据隔离性。
5.Mysql乐观锁,悲观锁。
6.Mysql事务隔离等级:未提交读,已提交读,重复读,序列化,分别对应(脏读,可重复读,幻读等)
7.Mysql性能优化:1.避免select*,选用关键字,慢日志查询等。
Spring:
1.AOP是什么:面向切面编程,是一种通过预编译处理,动态代理的实现程序统一维护的技术概念。主要体现在预编译处理(),和动态代理(区别于静态代理,他不是一种对对象的引用代理,而是)。
2.IOC是什么:是一种名叫控制反转的设计思想,主要实现方式有依赖注入和依赖查找。
具体原理就是方法里不写具体的对象参数,而是通过Java Beans统一编写,有需要的时候,直接从这个集合了Beans的容器里去调用,减少代码块之间的耦合度。
Spring Boot:SSM的改进版
Spring Mvc:SSM中的S,做控制器的作用。
Spring cloud:一类是对Spring boot的一个封装,一个是开发了一部分的分布式系统的实现的基础框架。