Rumah > pangkalan data > Redis > teks badan

Bagaimana untuk melaksanakan springboot bersepadu redis sentinel master-slave

WBOY
Lepaskan: 2023-05-28 16:07:06
ke hadapan
1331 orang telah melayarinya

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>
Salin selepas log masuk

3 Konfigurasi Application.yml

Konfigurasi springboot diabaikan<🎜. >konvensyen 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
Salin selepas log masuk

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;
}
Salin selepas log masuk

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));
    }
}
Salin selepas log masuk

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!

Label berkaitan:
sumber:yisu.com
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan