springboot整合redis序列化(3步搞定)

springboot整合redis系列集合

  • 1.springboot整合redis序列化(3步搞定)- 本文
  • 2.springboot整合redis发布订阅(4步搞定)
  • 3.springboot整合redis数据结构对应使用场景讲解
  • 4.springboot整合redis分布式锁

springboot整合redis序列化

  • 项目结构图
  • 1、pom文件添加依赖
  • 2、yml文件配置连接
  • 3、添加序列化配置类
  • 测试
    • 添加一个DemoController
    • 运行项目,Postman调用测试
      • 添加redis键
      • 通过键获取值


项目结构图

springboot整合redis序列化(3步搞定)_第1张图片

1、pom文件添加依赖

1.依赖版本springboot会自动匹配,所以不用关注
2.fastjson依赖方便我们管理json格式数据

<dependency>
	<groupId>org.springframework.boot</groupId>
	<artifactId>spring-boot-starter-data-redis</artifactId>
</dependency>
<dependency>
   <groupId>com.alibaba</groupId>
    <artifactId>fastjson</artifactId>
    <version>1.2.72</version>
</dependency>

2、yml文件配置连接

redis安装教程请移步查看: docker快速安装redis(两步轻松搞定)

port:端口号
host:ip地址
password:密码

spring:
  redis:
    port: 6379
    host: 127.0.0.1
    password: 123456

3、添加序列化配置类

package com.phy.demo.config;

import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.data.redis.connection.lettuce.LettuceConnectionFactory;
import org.springframework.data.redis.core.RedisTemplate;
import org.springframework.data.redis.serializer.GenericJackson2JsonRedisSerializer;
import org.springframework.data.redis.serializer.StringRedisSerializer;

/**
 * redis 序列化配置
 * @author phy
 */
@Configuration
public class RedisConfig {
    /**
     * redis序列化配置
     * @param connectionFactory 连接工厂
     * @return
     */
    @Bean
    public RedisTemplate redisTemplate(LettuceConnectionFactory connectionFactory) {
        RedisTemplate redisTemplate = new RedisTemplate();
        redisTemplate.setConnectionFactory(connectionFactory);
        // 替换默认序列化
        GenericJackson2JsonRedisSerializer jackson2JsonRedisSerializer = new GenericJackson2JsonRedisSerializer();
        redisTemplate.setValueSerializer(jackson2JsonRedisSerializer);
        redisTemplate.setKeySerializer(new StringRedisSerializer());
        redisTemplate.setHashKeySerializer(new StringRedisSerializer());
        redisTemplate.afterPropertiesSet();
        return redisTemplate;
    }
}

至此,springboot整合redis并设置序列化就已完成,下面我们测试一下


测试

添加一个DemoController

package com.phy.demo.controller;

import com.alibaba.fastjson.JSONObject;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.redis.core.RedisTemplate;
import org.springframework.web.bind.annotation.*;

/**
 * demo redis 前端控制器
 * @author phy
 * @since 2021-09-29
 */
@RestController
@RequestMapping("/demo")
public class DemoController {
    @Autowired
    private RedisTemplate redisTemplate;

    @PostMapping("set")
    public void set(@RequestBody JSONObject data) {
        redisTemplate.opsForValue().set(data.get("key"),data.get("value"));
    }

    @GetMapping("get")
    public String get(String key) {
        return (String)redisTemplate.opsForValue().get(key);
    }
}

运行项目,Postman调用测试

添加redis键

springboot整合redis序列化(3步搞定)_第2张图片

通过键获取值

springboot整合redis序列化(3步搞定)_第3张图片

你可能感兴趣的:(redis,spring,boot)