当前位置:   article > 正文

spring cloud脚手架项目(七)redis和rocketmq接入_rocketmq和redis能一起用吗

rocketmq和redis能一起用吗

前言

上一篇讲到了工厂类和工厂类对应的使用。本篇则讲到了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

redis

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
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22

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;
    }
}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37
  • 38
  • 39
  • 40
  • 41
  • 42

使用方法就是创建JedisPool jedisPool类,调用jedis的api即可对redis进行相关的操作了

reocketmq

直接使用我首页的博文即可。本人也是照抄,对比了网上很多很多的spring boot接入rocketmq的文章,这篇无论是使用方法还是配置方法,都是比较简单易懂又考虑完善的。

pom文件

            <!-- 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>
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12

结尾

这样我们的项目就有个更多的选择,又有了redis做缓存,也有了mq的消息发送功能
github:https://github.com/alex9567/SpringCloudScaffold

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/小蓝xlanll/article/detail/630154
推荐阅读
相关标签
  

闽ICP备14008679号