zoukankan      html  css  js  c++  java
  • SpringBoot连接Redis (Sentinel模式&Cluster模式)

    一、引入pom

       <dependency>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-starter-data-redis</artifactId>
            </dependency>

    二、配置YML文件(二选一)

    1.sentinel模式


    server: port: 80 spring: redis: sentinel: nodes: 192.168.0.106:26379,192.168.0.106:26380,192.168.0.106:26381 //哨兵的ip和端口 master: mymaster //这个就是哨兵配置文件中
    sentinel monitor mymaster 192.168.0.103 6379 2 配置的mymaster
    
    

    2.Cluster模式

    server:
      port: 80
    spring:
      redis:
        cluster:
          nodes: 192.168.0.106:7000,192.168.0.106:7001,192.168.0.106:7002,192.168.0.106:7003,192.168.0.106:7004,192.168.0.106:7005

    三、配置RedisTemplate模版

    个人认为

    setKeySerializer
    setValueSerializer
    不设置也可以,不过在使用的时候,需要自行将keyvalue 转换为json字符串后存入
    @Configuration
    public class RedisConf {
        @Bean
        public RedisTemplate<Object, Object> redisTemplate(RedisConnectionFactory redisConnectionFactory)  {
            Jackson2JsonRedisSerializer serializer=new Jackson2JsonRedisSerializer(Object.class);
            RedisTemplate<Object, Object> template = new RedisTemplate<>();
            template.setConnectionFactory(redisConnectionFactory);
            template.setKeySerializer(serializer); //设置key序列化
            template.setValueSerializer(serializer);//设置value序列化
    return template; } }

    四、测试(简单的model就省略了)

    @RestController
    public class RedisTestController {
        @Autowired
        RedisTemplate redisTemplate;
    
        @GetMapping("set")
        public void set(){
            redisTemplate.opsForValue().set("key1","123");
            User u=new User();
            u.setId(1);
            u.setName("name姓名");
            redisTemplate.opsForValue().set("user",u);
        }
        @GetMapping("get")
        public Map get(){
            Map map=new HashMap();
            map.put("v1",redisTemplate.opsForValue().get("key1"));
            map.put("v2",redisTemplate.opsForValue().get("user"));
            return map;
        }
    }
  • 相关阅读:
    买房的贷款时间是否是越长越好?https://www.zhihu.com/question/20842791
    asp.net cookie and session
    leelazero and google colab
    download file by python in google colab
    physical processor, core, logical processor
    通过powershell操作eventlog
    openxml in sql server
    get the page name from url
    How to Execute Page_Load() in Page's Base Class?
    Difference between HttpContext.Request and Request
  • 原文地址:https://www.cnblogs.com/rb2010/p/12905470.html
Copyright © 2011-2022 走看看