springboot3 + redis + redission +nignx + postman实现分布式缓存
环境准备
linux debian 12
docker
redis
windows 10
vmware 17.5.2 build-23775571
idea IntelliJ IDEA 2024.1.2 (Community Edition)
postman 10.24.25
nginx 1.22.1
java 17
redis UI Another Redis Desktop Manager
vmware 安装 linux
在网上找下教程安装一下
链接: Debian下载地址
linux 安装 ngnix
需要改一下源配置 [清华源或者淘宝源] 否则下载会很慢
使用命令 sudo apt install ngnix
nginx安装好后 配置文件路径 /etc/nginx/nginx.conf
日志文件路径/var/log/nginx/error.log
/var/log/nginx/access.log
nginx重载 重启 启动 停止命令 sudo service nginx reload/restart/start/stop
linux 安装 docker
我安装的是desktop docker
链接: docker官方安装教程
看不懂英文,下载浏览器翻译插件或者用浏览器自带的。
docker 安装 redis 镜像
docker install redis 这是安装最新版的命令
准备一个待测试服务
可以根据这个链接设置服务端代码
https://blog.csdn.net/qq_45001053/article/details/131327226
我的相关配置代码
- pom
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>3.2.5</version>
<relativePath/>
</parent>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-redis</artifactId>
</dependency>
<dependency>
<groupId>org.redisson</groupId>
<artifactId>redisson-spring-boot-starter</artifactId>
<version>3.30.0</version>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
- application.yml
spring:
application:
name: older_home_springboot
data: #Springboot 3
redis:
host: 192.168.153.129 # Redis服务器地址
database: 0 # Redis数据库索引(默认为0)
port: 6379 # Redis服务器连接端口
# password: # Redis服务器连接密码(默认为空)
timeout: 300ms # 连接超时时间(毫秒)
username: default #默认用户
password: ubuntu #自己设置的密码 默认的话 username password 不用加
lettuce:
pool:
max-active: 12 # 允许最大连接数,默认8(负值表示没有限制),推荐值:大于cpu * 2,通常为(cpu * 2) + 2
max-idle: 8 # 最大空闲连接数,默认8,推荐值:cpu * 2
min-idle: 0 # 最小空闲连接数,默认0
max-wait: 5s # 连接用完时,新的请求等待时间(s秒、ms毫秒),超过该时间抛出异常,默认-1(负值表示没有限制)
- /conf.d/nginx.conf
upstream server1{#负载均衡默认轮询
server 192.168.0.103:8091;#服务地址端口
server 192.168.0.103:8099; #服务地址端口
}
server{
listen 8089; #nginx监听端口
server_name192.168.153.129; #nginx 本机IP
location/{
proxy_pass http://server1; #nginx监听到请求后 跳转的地址
}
}
设置压力测试postman
- 测试一次保证成功
- 设置多线程测试
- 这个request请求是在一个文件里的 打开文件夹 点击Run
- 选择要测试的API—>点击Performance—>设置虚拟用户数 50 —>设置 测试持续时间 1min—>点击运行Run
- 根据设置分布式锁的加与不加,查看测试结果
看发出的请求数 与 redis里剩余的数之和
- 这个request请求是在一个文件里的 打开文件夹 点击Run
下面列一下可能遇到的问题
- 下载慢;apt源
- 安装后 nginx 访问不了;在配置文件/etc/nginx/nginx.conf 添加 用户
user ubuntu; # ubuntu是我登录的用户根据自己的登录的改一下
- 能访问nginx默认网址了,但是修改或者自己添加新的配置文件之后,地址访问无响应;开放端口 或者关闭防火墙 [不推荐]
sudo ufw allow [port]
测试 ip 连通性 ping ip
测试i port 连通性 telnet ip port
linux win 命令相同 ;windows需要打开 telnet 服务
- 检查文件,端口后是否写错;ip地址是否写错
- 查看nginx日志内容
vi [filename]
or
tail -f [filename]
- 待补充。。。