First, scene description
1. Test environment installation redis6, cluster deployment, three master and three slave. That is to achieve high concurrency, high availability, high security.
2. Redis creates clusters through bind intranet IP.
3. The local and test environment are not in the same LAN, and there is no VPN, so it is impossible to access redis through the test intranet IP.
4. Note: through the redis client, using the public IP + port, you can access redis.
Problem: spring program can’t access redis correctly through IP + port of public network.
Reason: when spring accesses the redis cluster, it first obtains the intranet IP and ports of all nodes in the redis cluster through the configured public IP and ports, and then the program finally accesses redis through the intranet IP and ports.
Second, the solution
1. Install the redis singleton on the test server.
2. Configuration file redis.conf Set daemonize to yes, that is to realize the background startup of redis.
3. In the test environment network security group, add the white list of local environment public IP, open port 6379.
4. Modify the local configuration file in spring program to access redis configuration mode. In this way, all technicians can connect to the test environment redis locally, and each technology does not need to open the redis service locally.
spring:
redis:
host: 47.112.108.1
port: 6379
timeout: 5000ms
pool:
max-active: 8
min-idle: 0
max-idle: 8
max-wait: -1