Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
7 changes: 5 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@

| 英语 | Java | Spring生态 | 中间件 | 数据库 | 服务器 | 架构设计 | 内功 | 网络 | 程序人生 |
|:----|:-----|:------|:------|:------|:------|:------|:------|:------|:-----|
|<a href="#英语">英语</a>|<a href="#Java基础">Basic</a><br><a href="#Java虚拟机">JVM</a><br><a href="#Java-Web">Web</a><br>|<a href="#Spring生态">Spring</a><br><a href="#Spring生态">Spring Boot</a><br><a href="#Spring生态">Spring Cloud</a>|<a href="#Keepalived">Keepalived</a><br><a href="#ActiveMQ">ActiveMQ</a><br><a href="#RabbitMQ">RabbitMQ</a><br><a href="#Netty">Netty</a><br><a href="#MyBatis">Mybatis</a>|<a href="#MySQL">MySQL</a><br><a href="#Postgresql">Postgresql</a><br><a href="#Mongodb">Mongodb</a><br><a href="#Redis">Redis</a>|<a href="#Tomcat">Tomcat</a><br><a href="#Nginx">Nginx</a>|<a href="#原则">原则</a><br><a href="#安全">安全</a><br><a href="#高可用">高可用</a><br><a href="#扩展性">扩展性</a><br><a href="#伸缩性">伸缩性</a><br><a href="#性能">性能</a><br>|<a href="#数据结构">数据结构</a><br><a href="#算法">算法</a><br><a href="#设计模式">设计模式</a>|<a href="#网络">网络</a>|<a href="#软文">软文</a><br><a href="#规范">规范</a><br><a href="#工具">工具</a><br><a href="#面试集锦">面试集锦</a>|
|<a href="#英语">英语</a>|<a href="#Java基础">Basic</a><br><a href="#Java虚拟机">JVM</a><br><a href="#Java-Web">Web</a><br>|<a href="#Spring生态">Spring</a><br><a href="#Spring生态">Spring Boot</a><br><a href="#Spring生态">Spring Cloud</a>|<a href="#Keepalived">Keepalived</a><br><a href="#ActiveMQ">ActiveMQ</a><br><a href="#RabbitMQ">RabbitMQ</a><br><a href="#Netty">Netty</a><br><a href="#MyBatis">Mybatis</a>|<a href="#MySQL">MySQL</a><br><a href="#Postgresql">Postgresql</a><br><a href="#Mongodb">Mongodb</a><br><a href="#Redis">Redis</a>|<a href="#Tomcat">Tomcat</a><br><a href="#Nginx">Nginx</a>|<a href="#原则">原则</a><br><a href="#安全">安全</a><br><a href="#高可用">高可用</a><br><a href="#扩展性">扩展性</a><br><a href="#伸缩性">伸缩性</a><br><a href="#性能">性能</a><br>|<a href="#数据结构">数据结构</a><br><a href="#算法">算法</a><br><a href="#设计模式">设计模式</a>|<a href="#网络">网络</a>|<a href="#软文">软文</a><br><a href="#规范">规范</a><br><a href="#工具">工具</a><br><a href="#面试集锦">面试集锦</a><br><a href="#实战训练">实战训练</a>|

## 英语
* [计算机行业常用英语积累](tool/english.md)
Expand Down Expand Up @@ -77,10 +77,13 @@
> `面试集锦`
* [疯狂面试题](tool/interview.md)

> `实战训练`
* [我也写份秒杀商城](system/秒杀.md)

<center>
<h2 align="center">技术栈</h2>
<center>

![](tutorial-2020-03-05.png)
![](tutorial-2020-03-08.png)

</center>
41 changes: 41 additions & 0 deletions database/redis.md
Original file line number Diff line number Diff line change
Expand Up @@ -26,6 +26,47 @@
* https://www.w3cschool.cn/redis/redis-ydwp2ozz.html

### 学习笔记
> 安装
```
wget http://download.redis.io/releases/redis-5.0.7.tar.gz
tar -zxvf redis-5.0.7.tar.gz
mv redis-5.0.7 /usr/local/redis 不需要先创建/usr/local.redis文件夹
cd /usr/local/redis
make
make install
vi redis.conf
* bind 0.0.0.0 开发访问
* daemonize yes 设置后台运行
redis-server ./redis.conf 启动
redis-cli 进入命令行,进行简单的命令操作
vi redis.conf
> requirepass password 修改密码
redis-cli 再次进入cmd
> shutdown save 关闭redis,同时持久化当前数据
redis-server ./redis.conf 再次启动redis
redis-cli 进入命令行
> auth password
将redis配置成系统服务,redis/utils中自带命令,我们只需修改参数
/usr/local/redis/utils/./install_server.sh
[root~ utils]# ./install_server.sh
Welcome to the redis service installer
Please select the redis port for this instance: [6379] 默认端口不管
Selecting default: 6379
Please select the redis config file name [/etc/redis/6379.conf] /usr/local/redis/redis.conf 修改配置文件路径
Please select the redis log file name [/var/log/redis_6379.log] /usr/local/redis/redis.log 修改日志文件路径
Please select the data directory for this instance [/var/lib/redis/6379] /usr/local/redis/data 修改数据存储路径
Please select the redis executable path [/usr/local/bin/redis-server]
Selected config:
Port : 6379
Config file : /usr/local/redis/redis.conf
Log file : /usr/local/redis/redis.log
Data dir : /usr/local/redis/data
Executable : /usr/local/bin/redis-server
Cli Executable : /usr/local/bin/redis-cli
chkconfig --list | grep redis 查看redis服务配置项
redis_6379 0:off 1:off 2:on 3:on 4:on 5:on 6:off
服务名是redis_6379
```
* Reids支持5中存储的数据格式: String, Hash, List, Set, Sorted Set
* redis 的 string 可以包含任何数据。比如jpg图片或者序列化的对象,最大能存储 512MB。
```
Expand Down
1 change: 0 additions & 1 deletion java/spring/spring.md
Original file line number Diff line number Diff line change
Expand Up @@ -62,7 +62,6 @@
* [SpringBoot Log4j2](https://github.com/zhonghuasheng/JAVA/tree/master/springboot)

> SpringBoot百问
* []()

> SpringBoot实战技巧系列
* [SpringBoot统一结果处理](https://github.com/zhonghuasheng/Spring-Boot/wiki/SpringBoot%E7%BB%9F%E4%B8%80%E5%A4%84%E7%90%86%E8%BF%94%E5%9B%9E%E7%BB%93%E6%9E%9C)
Expand Down
45 changes: 45 additions & 0 deletions system/秒杀.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,45 @@
### 技术介绍
* 前端:Thymeleaf, Bootstrap, JQuery
* 后端:SpringBoot, JSR303(服务端验证框架,参数校验),MyBatis
* 中间件:RabbitMQ(异步操作),Redis, Druid(连接池,监控)

### 步骤
* 分布式会话
* 商品列表页:展示商品
* 商品详情页:秒杀的入口
* 订单详情页:秒杀成功进入商品详情页
* 压力测试:测试并发量
* 缓存优化:缓存静态页面,CDN,Nginx做网关
* 消息队列:异步下单
* 接口安全:防刷,限流,验证码,隐藏地址

### 学到了什么
* 如何利用缓存
* 如何使用异步
* 如何编写优雅的代码

### 计划
* SpringBoot环境搭建
* 集成Thymeleaf,Result结果封装
* 集成MyBatis + Druid
* 集成Jedis + Redis安装 + 通用缓存Key封装
* 实现登录功能
* 数据库设计
* 明文密码两次MD5处理
* JSR303参数校验 + 全局异常处理器
* 分布式Session
* 功能实现: 数据库设计,商品列表页,商品详情页,订单详情页
* JMeter压测: 自定义变量模拟多用户,JMeter命令行使用
* 页面优化技术:页面缓存+URL缓存+对象缓存,页面静态化,前后端分离,静态资源优化,CDN优化
* 接口优化:Redis预减库存减少数据库访问,内存标记减少Redis访问,RabbitMQ队列缓冲,异步下单,增强用户体验
* Nginx水平扩展
* 再次压测
* 安全的优化:秒杀接口地址隐藏,数学公式验证码,接口防刷

### 笔记

{
"code": 500100,
"msg": 库存不足,
"data": {}, []
}
1 change: 1 addition & 0 deletions tool/chrome.md
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
* [Chrome好用的插件](http://note.youdao.com/noteshare?id=530c5fcc0dfba1feadf26748cce65666&sub=wcp1583414597450563)
3 changes: 2 additions & 1 deletion tool/interview.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,8 @@
* [面试技巧](#面试技巧)

### 面试题

* [什么是面向对象](https://github.com/zhonghuasheng/Tutorial/issues/188)
* [SpringMVC 说说过滤器、监听器、拦截器有啥区别]()
* [SpringBoot系列](https://github.com/zhonghuasheng/Tutorial/issues?q=label%3ASpringBoot+)
* [SpringBoot 的启动原理](https://github.com/zhonghuasheng/Tutorial/issues/185)

Expand Down
Binary file removed tutorial-2020-03-05.png
Binary file not shown.
Binary file added tutorial-2020-03-08.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.