SpringBoot整合Redis入门

Spring Boot 整合 Redis简单实现

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

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

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

一、工程目录

SpringBoot整合Redis入门_第1张图片

二、创建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;
    }
    @Override
    public String toString() {
        return "User{" +
                "name='" + name + '\'' +
                ", age=" + age +
                ", time=" + time +
                '}';
    }
}

三、创建Redis数据访问层

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

@Repository
public class UserRedis {
    @Autowired
    private 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 {
    @Bean
    public 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 {
    @Autowired
    UserRedis userRedis;
    @Test
    public 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()));
    }
}
测试结果

SpringBoot整合Redis入门_第2张图片

你可能感兴趣的:(Java架构,SpringBoot基础)