赞
踩
上一篇讲到了工厂类和工厂类对应的使用。本篇则讲到了mq和redis的整合。在mysql负载不过来过多请求的时候,我们需要缓存,这时候就是redis登场的时候了。以及我们的请求需要削峰,降低请求压力。就需要mq,我们本地接入的是rocketmq
rocketmq和redis的docker安装可以考察我之前的代码
参考博客:
redis:https://www.cnblogs.com/L-Wirepuller/p/11150742.html
rocketmq:https://juejin.im/post/5d4639b15188255d691bccce
yml
# Redis服务器地址 redis: host: 127.0.0.1 # Redis服务器连接端口 port: 6379 # Redis服务器连接密码(默认为空) password: password timeout: 30000 # 连接池最大连接数(使用负值表示没有限制) maxTotal: 30 # 连接池中的最大空闲连接 maxIdle: 10 numTestsPerEvictionRun: 1024 timeBetweenEvictionRunsMillis: 30000 minEvictableIdleTimeMillis: 1800000 softMinEvictableIdleTimeMillis: 10000 # 连接池最大阻塞等待时间(使用负值表示没有限制) maxWaitMillis: 1500 testOnBorrow: true testWhileIdle: true blockWhenExhausted: false JmxEnabled: false
redisConfig
@Configuration public class RedisConfig { @Value("${redis.host}") private String host; @Value("${redis.port}") private int port; @Value("${redis.password}") private String password; @Value("${redis.timeout}") private int timeout; @Value("${redis.maxIdle}") private int maxIdle; @Value("${redis.maxWaitMillis}") private int maxWaitMillis; @Value("${redis.blockWhenExhausted}") private Boolean blockWhenExhausted; @Value("${redis.JmxEnabled}") private Boolean JmxEnabled; @Bean public JedisPool jedisPoolFactory() { System.out.println("JedisPool注入开始..."); JedisPoolConfig jedisPoolConfig = new JedisPoolConfig(); jedisPoolConfig.setMaxIdle(maxIdle); jedisPoolConfig.setMaxWaitMillis(maxWaitMillis); // 连接耗尽时是否阻塞, false报异常,true阻塞直到超时, 默认true jedisPoolConfig.setBlockWhenExhausted(blockWhenExhausted); // 是否启用pool的jmx管理功能, 默认true jedisPoolConfig.setJmxEnabled(JmxEnabled); JedisPool jedisPool = new JedisPool(jedisPoolConfig, host, port, timeout, password); System.out.println("JedisPool注入成功..."); return jedisPool; } }
使用方法就是创建JedisPool jedisPool类,调用jedis的api即可对redis进行相关的操作了
直接使用我首页的博文即可。本人也是照抄,对比了网上很多很多的spring boot接入rocketmq的文章,这篇无论是使用方法还是配置方法,都是比较简单易懂又考虑完善的。
<!-- redis -->
<dependency>
<groupId>redis.clients</groupId>
<artifactId>jedis</artifactId>
<version>2.9.0</version>
</dependency>
<!-- rocketmq -->
<dependency>
<groupId>org.apache.rocketmq</groupId>
<artifactId>rocketmq-client</artifactId>
<version>4.3.0</version>
</dependency>
这样我们的项目就有个更多的选择,又有了redis做缓存,也有了mq的消息发送功能
github:https://github.com/alex9567/SpringCloudScaffold
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。