Rumah  >  Artikel  >  pangkalan data  >  Bagaimana untuk melaksanakan springboot bersepadu redis sentinel master-slave

Bagaimana untuk melaksanakan springboot bersepadu redis sentinel master-slave

WBOY
WBOYke hadapan
2023-05-28 16:07:061296semak imbas

1. Persekitaran

spring boot 2.3.12.RELEASE
JDK 1.8
Alat pembangunan IntelliJ IDEA
Redis sentry master-slave construction

2

Yang lain dalam fail pom diabaikan dan hanya kebergantungan sistem yang berkaitan dengan redis dipaparkan

<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 Konfigurasi Application.yml

Konfigurasi springboot diabaikankonvensyen musim bunga adalah lebih besar daripada konfigurasi Untuk yang lalai, tidak perlu mencerminkannya dalam fail konfigurasi

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

Ambil perhatian bahawa jika fail konfigurasi sentinel redis menambah requirepass (kunci akses), [kata laluan] mesti ditambahkan pada nod sentinel, jika tidak, tidak perlu menambahnya.

4. Konfigurasi reidsTemplate

Fail konfigurasi ini boleh dimuatkan terus ke dalam kelas permulaan, kerana kelas permulaan juga merupakan kelas konfigurasi 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 (JUnit4)

@RunWith(SpringRunner.class)
@SpringBootTest
public class RedisTest {
    // 注入redisTemplate对象
    @Autowired
    RedisTemplate<String, Object> redisTemplate;

    @Test
    public void setOrGetTest() {
        // redis键值 
        String redisKey = "name";
        // 向redis存放内容
        redisTemplate.opsForValue().set(redisKey, "张三" + new Random().nextInt());
        // 获取redis中的内容并打印
        System.out.println(redisTemplate.opsForValue().get(redisKey));
    }
}

Atas ialah kandungan terperinci Bagaimana untuk melaksanakan springboot bersepadu redis sentinel master-slave. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Artikel ini dikembalikan pada:yisu.com. Jika ada pelanggaran, sila hubungi admin@php.cn Padam