歡迎您光臨本站 註冊首頁

SpringBoot連接Redis2種模式解析

←手機掃碼閱讀     niceskyabc @ 2020-06-10 , reply:0

一、引入pom

     org.springframework.bootspring-boot-starter-data-redis

 

二、配置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 RedisTemplateredisTemplate(RedisConnectionFactory redisConnectionFactory) {      Jackson2JsonRedisSerializer serializer=new Jackson2JsonRedisSerializer(Object.class);      RedisTemplatetemplate = 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;    }  }

  


[niceskyabc ] SpringBoot連接Redis2種模式解析已經有249次圍觀

http://coctec.com/docs/java/show-post-237813.html