个人笔记
Nginx
查找顺序的优先级
- 1:带有“=”的精确匹配优先
- 2:^~ 匹配
- 3:正则表达式匹配
- 4:无修饰符匹配(精确匹配)
- 5:无修饰符匹配(模糊匹配)
优势
- 反向代理
- 负载均衡
- 轮询:轮流每台服务器一次请求
- 权重(weight):当服务器性能不均,设置weight,默认为1,指定轮询几率
- ip_hash:请求的访问的IP通过hash,固定分配到服务器,解决session不能跨服务器的问题
- url_hash:根据url的hash结果分配,同一个url访问的是同一台机器。一般用于缓存下载
- fair:根据页面大小、加载时间长短智能的进行负载均衡
- 动静分离:动态请求跟静态请求分开,Nginx处理静态页面,Tomcat处理动态页面
keepalived
- 搭建高可用集群
- 抢占模式:主要运行中的master节点,一直向备用路由器组发送报文(心跳),当定时器时间内没接收到心跳,执行脚本重启master,第二次还是启动不了,杀掉它,在路由器组中推选出优先级高的(如同样时IP大小),抢占。当死掉的复活了,又会抢占回来,导致客户端会有那么一时间卡顿
- 非抢占模式:不会将服务切换为原来的Master节点提供
Redis
数据类型(存储结构)
- string
- hash
- list
- set
- sorted_set
Redis持久化
- RDB持久化:当前内存中的数据集快照写入磁盘(Snapshot 快照)
- AOF持久化:Redis 执行一个改变数据集的命令时,命令就会被追加到 AOF 文件的末尾。解决了数据持久化的实时性
Redis事务
- 本质是一组命令的集合,redis开启事务时不会立刻进行执行,会将命令推向事务队列,事务提交后,逐步执行队列中的命令,如果有一个命令执行错误则所有命令取消
MySQL
索引
- 优点:能帮助我们快速查找到对应的数据
- 缺点:对数据进行增删改的时候,需要重构索引
存储引擎
- InnoDB比MyISAM好在哪里?:InnoDB存储引擎提供了具有提交、回滚、崩溃恢复能力的事务安全。而且存在外键以及锁