-
数据库外键去除
- 外键检查降低性能
- 耦合性太高,有时候两个关系表不一定在同一个库
-
SpringBoot自动装配:
- @SpringBootApplication
- @SpringBootConfiguration
- @ComponentScan:排除一些bean
- @EnableAutoConfiguration
- @AutoConfigurationPacakge
- @Import(AutoConfigurationImportSelector.class)
- META-INF/spring.factories
- AutoConfig
- @EnableConfigurationProperties
- @ConditionalOnXxx
- @AutoConfigureAfterXxx
- …
- AutoConfig
- META-INF/spring.factories
- @SpringBootApplication
-
Spring事务传播
-
REQUIRED
-
REQUIRES_NEW:调用方(上层)发生异常不会影响被调用方
-
MANDATORY
-
SUPPORTS
-
NEVER
-
NOT_SUPPORTED
-
NESTED
- 如果当前已有事务,则挂起当前事务,然后开启一个子事务(SAVEPOINT)
- 调用者(父事务)提交,所有子事务(savepoint)提交
- 调用者(父事务)回滚,所有子事务(savepoint)回滚
- 子事务(savepoint)提交和回滚,不影响父事务(其它子事务)的提交和回滚
- 只有父事务发生提交和回滚后,子事务才会被其它事务可见
- 如果当前没事务,同 REQUIRED
- 如果当前已有事务,则挂起当前事务,然后开启一个子事务(SAVEPOINT)
-
-
SpringBoot 默认提供的 spring.factories 里面包含了事务配置(TransactionAutoConfiguration),无需 @EnableTransactionManager
-
AOP 实现每个调用记录调用时间与日志打印
-
分类连接查询的一对多关系使用 MyBatis 的 ResultMap 直接实现
-
用延时队列替换springboot scheduler 实现订单超时关闭
-
nginx
-
模型:master-workers-connections
-
信号通信
-
IO多路复用、非阻塞
-
配置文件
nginx.conf 配置结构 +----------------------------------------------------------------------+ | main全局配置 | | +-----------------------------------------------------------------+ | | |event 配置工作模式以及连接数 | | | +-----------------------------------------------------------------+ | | | | +-----------------------------------------------------------------+ | | |http http模块相关配置 | | | | | | | | | | | | +-------------------------------------------------------------+ | | | | |server 虚拟主机配置,可以有多个 | | | | | | | | | | | | +---------------------------------------------------------+ | | | | | | |location 路由规则,表达式 | | | | | | | | | | | | | | | +---------------------------------------------------------+ | | | | | | | | | | | | +---------------------------------------------------------+ | | | | | | |upstream 集群,内网服务器 | | | | | | | | | | | | | | | +---------------------------------------------------------+ | | | | | +-------------------------------------------------------------+ | | | +-----------------------------------------------------------------+ | +----------------------------------------------------------------------+
- location:静态资源
-
nginx -s stop 暴力停止
-
nginx -s quit 优雅停止
-
nginx -t 检查配置文件格式
-
nginx -c
file-path
设置配置文件 -
利用linux定时任务定时切割日志
-
指令
- include:将指定文件内容拷贝到当前配置文件中替换当前include
-
-
redis
- 无磁盘主从赋值,直接写socket,不写RDB文件
- max memory 选项设置最大内存
- MAXMEMORY POLICY 设置淘汰策略
- valatile-lru:在设置了超时时间的key里进行lru删除
- allkeys-lru:在所有key里进行lru
- valatile-lfu
- allkeys-lfu
- valatile-random
- allkeys-random
- valatile-ttl:将快要过期的删除
- noeviction:不删除
- 缓存穿透:布隆过滤器缺点,一旦某个hash添加之后就无法删除,因为可能有多个数据hash到同一个槽,无法确定该槽是否有多个数据;另外还需要额外维护一层
上一篇
Java 并发编程艺术读书草稿
Java 并发编程艺术读书草稿
2020-12-22
下一篇
00_前言
00_前言
2020-12-22