SpringBoot连接Redis2种模式解析

 更新时间:2020年05月20日 15:04:20   投稿:yaominghui  
这篇文章主要介绍了SpringBoot连接Redis2种模式解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下

一、引入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

不设置也可以,不过在使用的时候,需要自行将key\value 转换为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;
  }
}

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

相关文章

  • 关于weblogic部署Java项目的包冲突问题的解决

    关于weblogic部署Java项目的包冲突问题的解决

    这篇文章主要介绍了关于weblogic部署Java项目的包冲突问题的解决,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-01-01
  • Java Calendar日历与Date日期的相互转换详解

    Java Calendar日历与Date日期的相互转换详解

    这篇文章主要介绍了Java Calendar日历与Date日期的相互转换详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-08-08
  • 从内存地址解析Java的static关键字的作用

    从内存地址解析Java的static关键字的作用

    这篇文章主要介绍了从内存地址解析Java的static关键字的作用,包括静态成员变量和静态方法等重要内容,需要的朋友可以参考下
    2015-10-10
  • SpringBoot 自定义注解实现涉密字段脱敏

    SpringBoot 自定义注解实现涉密字段脱敏

    关于数据脱敏,网上的文章都是硬编码规则,比如对身份证,手机号,邮件地址等固定写法脱敏。本文在此基础上,拓展动态从数据库查出涉密关键字执行脱敏操作。感兴趣的同学可以参考阅读
    2023-03-03
  • SpringBoot实现点餐系统的登录与退出功能流程详解

    SpringBoot实现点餐系统的登录与退出功能流程详解

    结束了Springboot+MyBatisPlus也是开始了项目之旅,将从后端的角度出发来整理这个项目中重点业务功能的梳理与实现
    2022-10-10
  • IDEA设置Maven自动编译model的实现方法

    IDEA设置Maven自动编译model的实现方法

    本文主要介绍了IDEA设置Maven自动编译model的实现方法, maven结构的项目,我们在每次修改代码后都会需要手动编译,本文就可以解决这个问题,感兴趣的可以了解一下
    2023-08-08
  • 大厂禁止SpringBoot在项目使用Tomcat容器原理解析

    大厂禁止SpringBoot在项目使用Tomcat容器原理解析

    这篇文章主要为大家介绍了大厂禁止SpringBoot在项目使用Tomcat原理解析,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-07-07
  • Java实现文件上传和下载的方法详解

    Java实现文件上传和下载的方法详解

    文件上传,也称为upload,是指将本地图片、视频、音频等文件上传到服务器上。文件下载,也称为download,是指将文件从服务器传输到本地计算机的过程。本文将用Java实现文件上传和下载,需要的可以参考一下
    2022-09-09
  • java8 LocalDate LocalDateTime等时间类用法实例分析

    java8 LocalDate LocalDateTime等时间类用法实例分析

    这篇文章主要介绍了java8 LocalDate LocalDateTime等时间类用法,结合具体实例形式分析了LocalDate、LocalTime、LocalDateTime等日期时间相关类的功能与具体使用技巧,需要的朋友可以参考下
    2017-04-04
  • SpringCloud 服务网关路由规则的坑及解决

    SpringCloud 服务网关路由规则的坑及解决

    这篇文章主要介绍了SpringCloud 服务网关路由规则的坑及解决方案,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2021-07-07

最新评论