Maison  >  Article  >  base de données  >  Comment implémenter le maître-esclave Redis Sentinel intégré à Springboot

Comment implémenter le maître-esclave Redis Sentinel intégré à Springboot

WBOY
WBOYavant
2023-05-28 16:07:061300parcourir

1. Environnement

spring boot 2.3.12.RELEASE
JDK 1.8
Outil de développement IntelliJ IDEA
Construction maître-esclave Redis Sentinelle

2.

<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter</artifactId>
</dependency>
<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-web</artifactId>
</dependency>
<!-- 重点:redis依赖 -->
<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-data-redis</artifactId>
</dependency>
<!-- 对象池框架,redis依赖 -->
<dependency>
    <groupId>org.apache.commons</groupId>
    <artifactId>commons-pool2</artifactId>
</dependency>

3. Configuration Application.yml

Ignorez la configuration Springboot

La convention Spring est supérieure à la configuration, et celle par défaut n'a pas besoin d'être reflétée dans le fichier de configuration

spring:
  redis:
    # redis库
    database: 1
    # redis节点的密码
    password: jwssw
    # 集群配置
    sentinel:
      # 集群哨兵节点配置,多个节点之间用英文逗号分割
      nodes: 127.0.0.1:26379,127.0.0.1:26380,127.0.0.1:26381
      # 主节点名称
      master: mymaster
      # 密码
      password: jwssw

Notez que si le fichier de configuration sentinelle de redis ajoute requirepass (clé d'accès), [mot de passe] doit être ajouté sous le nœud sentinelle, sinon il n'est pas nécessaire de l'ajouter.

4. configuration de reidsTemplate

Ce fichier de configuration peut être chargé directement dans la classe de démarrage, car la classe de démarrage est également une classe de configuration de springboot

/**
 * 方法描述: 初始化redis连接
 *
 * @param factory redis连接工厂
 * @return {@link RedisTemplate}
 */
@Bean
public RedisTemplate redisTemplate(RedisConnectionFactory factory) {
    // 新建redisTemplate对象
    RedisTemplate<String, Object> template = new RedisTemplate<>();
    // 设置工厂
    template.setConnectionFactory(factory);
    // 键值类型
    template.setKeySerializer(new StringRedisSerializer());
    template.setValueSerializer(new StringRedisSerializer());
    // 返回redisTemplate对象
    return template;
}

5.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer