SpringBoot整合Redis入门

 2023-09-15 阅读 25 评论 0

摘要:Spring Boot 整合 Redis简单实现 下面就按照步骤来配置一个Spring Boot整合Redis的实现。 问题~!在创建User实体的时候为什么没有使用序列化接口? 这个问题在使用Redis是个人认为是比较重要的一点,也是开发中比较容易忽略的一点 一、工程目录 二、创建Be

Spring Boot 整合 Redis简单实现

下面就按照步骤来配置一个Spring Boot整合Redis的实现。

问题~!在创建User实体的时候为什么没有使用序列化接口?

这个问题在使用Redis是个人认为是比较重要的一点,也是开发中比较容易忽略的一点

一、工程目录

在这里插入图片描述

二、创建Bean对象

首先需要创建对应的Bean对象

public class User {private String name;private int age;private Date time;public User(String name, int age, Date time) {this.name = name;this.age = age;this.time = time;}public User() {}public String getName() {return name;}public void setName(String name) {this.name = name;}public int getAge() {return age;}public void setAge(int age) {this.age = age;}public Date getTime() {return time;}public void setTime(Date time) {this.time = time;}@Overridepublic String toString() {return "User{" +"name='" + name + '\'' +", age=" + age +", time=" + time +'}';}
}

三、创建Redis数据访问层

用于进行对于Readis的直接访问,类似于MVC模式中的DAO层

@Repository
public class UserRedis {@Autowiredprivate RedisTemplate<Object,User> redisTemplate;public void add(String key,User user){redisTemplate.opsForValue().set(key,user);}public User get(String key){return redisTemplate.opsForValue().get(key);}
}

这里需要注意的一个注解就是@Repository注解,这个是表示数据库访问测的注解

四、创建配置文件类

由于在进行插入数据,或者查询数据的时候,如果使用默认的配置,会出现在Readis中存储乱码的情况。所以在使用Redis的时候要根据具体的情况,使用自定义配置的方式进行配置,实现获取数据的正常显示。

@Configuration
public class RedisConfig {@Beanpublic RedisTemplate<Object, User> redisTemplate(RedisConnectionFactory redisConnectionFactory) {//自定义实现对于RedisTemplate的配置RedisTemplate<Object, User> template = new RedisTemplate<>();template.setConnectionFactory(redisConnectionFactory);//设置一JSON格式存储或者获取对象Jackson2JsonRedisSerializer<User> ser = new Jackson2JsonRedisSerializer<>(User.class);//为templeate设置默认的序列化方式template.setDefaultSerializer(ser);return template;}
}

这里需要说明的一点,往Redis中存储对象的时候要对对象进行序列化。这样才能将一个对象的数据结构存储到Redis的数据结构中。

五、添加配置文件

使用Redis最主要的一个步骤就是进行Redis的配置。这里指定了服务器的地址和Redis的默认端口6379端口,同时配置了Redis的jedis池的参数。

spring.redis.host=192.168.70.134
spring.redis.port=6379
spring.redis.jedis.pool.max-idle=8
spring.redis.jedis.pool.min-idle=0
spring.redis.jedis.pool.max-avtive=8
spring.redis.jedis.pool.max-wait=0ms

测试类

编写一个测试类来测试编写的代码的准确性,根据内容插入对象,然后获取对象。

@RunWith(SpringRunner.class)
@SpringBootTest
public class UserRedisTest {@AutowiredUserRedis userRedis;@Testpublic void setup(){User user = new User();user.setName("nihui");user.setAge(24);user.setTime(new Date());userRedis.add(this.getClass().getName(),user);System.out.println(userRedis.get(this.getClass().getName()));}
}
测试结果

在这里插入图片描述

版权声明:本站所有资料均为网友推荐收集整理而来,仅供学习和研究交流使用。

原文链接:https://hbdhgg.com/2/60521.html

发表评论:

本站为非赢利网站,部分文章来源或改编自互联网及其他公众平台,主要目的在于分享信息,版权归原作者所有,内容仅供读者参考,如有侵权请联系我们删除!

Copyright © 2022 匯編語言學習筆記 Inc. 保留所有权利。

底部版权信息