Spring整合Redis应用篇(一、基础应用)

本文档详细介绍了如何在Spring Boot应用中集成Redis,包括在pom.xml中添加依赖,配置application.yaml文件以连接Redis服务器,以及创建配置类设置RedisTemplate,确保数据的序列化。通过这些步骤,你可以快速搭建起一个基础的Spring+Redis使用环境。
摘要由CSDN通过智能技术生成

下文教大家如何快速搭建一个 spring + redis 整合的基础使用场景。

pom依赖

    <dependencies>
           ...无关内容略过...
        <!-- redis起步依赖 -->
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-data-redis</artifactId>
        </dependency>
     </dependencies>

yaml

server:
  port: 8080

spring:
  redis:
    host: 192.168.xx.xxx
    port: 6379
    password:
    timeout: 30000

配置类

@AllArgsConstructor //lombok 全参数构造
@SpringBootConfiguration
public class RedisTemplateConfig {

    // 构造注入
    private final RedisConnectionFactory redisConnectionFactory;

    // redis序列化器
    @Bean
    public RedisSerializer redisSerializer() {
        return new StringRedisSerializer();
    }

    // redis操作模板
    @Bean
    public RedisTemplate<String, Object> redisTemplate() {
        RedisTemplate<String, Object> redisTemplate = new RedisTemplate();
        // 设置连接工厂
        redisTemplate.setConnectionFactory(redisConnectionFactory);
        /**
	     * 配置序列化意思是:配置我们在操作redis时,可传入的key和value的类型。传入的类型不支持
         * 会报错,StringRedisSerializer 支持传入String类型,也是默认行为,比如你有一个User类型
         * ,redisTemplate.opsForValue().set("key", new User()) 会报错
         * 你也可以选择用这个序列换器:GenericJackson2JsonRedisSerializer,支持传入Object类型
         * 它默认是使用jackson进行序列化与反序列化,笔者更习惯用fastjson,所以也不用它
         * 可以选择自己实现RedisSerializer接口,来定制自己的序列化器,用fastjson来进行序列化与
         * 反序列化即可,这块有个纠结的点,我们往redis中存的肯定不止一种类型,所以实现类必然是像                
         * 这样:xxx implements RedisSerializer<Object>,泛型为Object,反序列化时,返回类型必然
         * 丢失,是Object类型,要在使用时自己进行强转,所以实现它就只一个序列化有点用,就挺奢侈的
         * ,意义不是很大,可以但没必要,不如对redisTemplate在使用层面进行封装,哈哈....
	     */
        // 设置redis序列化规则
        redisTemplate.setKeySerializer(redisSerializer());
        redisTemplate.setValueSerializer(redisSerializer());
        redisTemplate.setHashKeySerializer(redisSerializer());
        redisTemplate.setHashValueSerializer(redisSerializer());
        return redisTemplate;
    }
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值