目录
1 简介
Redisson的宗旨是促进使用者对Redis的关注分离(Separation of Concern),从而让使用者能够将精力更集中地放在处理业务逻辑上。
2 整合
引入pom
<!-- https://mvnrepository.com/artifact/org.redisson/redisson -->
<dependency>
<groupId>org.redisson</groupId>
<artifactId>redisson</artifactId>
<version>3.10.5</version>
</dependency>
配置
spring.redis.host=192.168.159.130
spring.redis.port=6379
配置类
@Configuration
public class GmallRedissonConfig {
@Value("${spring.redis.host}")
private String host;
@Value("${spring.redis.port}")
private String port;
@Bean
public RedissonClient redissonClient(){
Config config = new Config();
config.useSingleServer().setAddress("redis://"+host+":"+port);
RedissonClient redisson = Redisson.create(config);
return redisson;
}
}
3 redisson锁
4 redission防压力测试
@Controller
public class RedissionController {
@Autowired
private RedisUtil redisUtil;
@Autowired
RedissonClient redissonClient;
@RequestMapping("/testRedission")
@ResponseBody
public String testRedission(){
Jedis jedis = redisUtil.getJedis();
String v = jedis.get("k");
if (StringUtils.isBlank(v)){
v= "1";
}
System.out.println("->"+v);
jedis.set("k",(Integer.parseInt(v)+1)+"");
jedis.close();
return "success";
}
}
5 nginx负载均衡配置
首先,分别在8071-8073这三个端口运行同一个项目(gmall-manage-service)
ngnix配置:
6 下载安装apache测试工具(apache)
1 下载地址 https://www.apachehaus.com/cgi-bin/download.plx
2 安装即解压
3 修改apache服务的配置文件(服务器的根目录) 修改服务的根目录路径:
4 启动服务
5 压测命令 会发现打印结果里面的安全问题非常明显!!!!!
6 压力测试代码
|
-------------------------------------------------------------------------------------------------------------------------------------------
补充:
1、RedisUtil
public class RedisUtil {
private JedisPool jedisPool;
public void initPool(String host,int port ,int database){
JedisPoolConfig poolConfig = new JedisPoolConfig();
poolConfig.setMaxTotal(200);
poolConfig.setMaxIdle(30);
poolConfig.setBlockWhenExhausted(true);
poolConfig.setMaxWaitMillis(10*1000);
poolConfig.setTestOnBorrow(true);
jedisPool=new JedisPool(poolConfig,host,port,20*1000);
}
public Jedis getJedis(){
Jedis jedis = jedisPool.getResource();
return jedis;
}
}
2、RedisConfig
@Configuration
public class RedisConfig {
//读取配置文件中的redis的ip地址
@Value("${spring.redis.host:disabled}")
private String host;
@Value("${spring.redis.port:0}")
private int port;
@Value("${spring.redis.database:0}")
private int database;
@Bean
public RedisUtil getRedisUtil(){
if(host.equals("disabled")){
return null;
}
RedisUtil redisUtil=new RedisUtil();
redisUtil.initPool(host,port,database);
return redisUtil;
}
}