返回顶部
首页 > 资讯 > 精选 >SpringBoot整合Redis之怎么编写RedisConfig
  • 862
分享到

SpringBoot整合Redis之怎么编写RedisConfig

2023-07-02 12:07:03 862人浏览 八月长安
摘要

这篇文章主要介绍了SpringBoot整合Redis之怎么编写RedisConfig的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇springBoot整合Redis之怎么编写RedisConfig文章都会有所收

这篇文章主要介绍了SpringBoot整合Redis之怎么编写RedisConfig的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇springBoot整合Redis之怎么编写RedisConfig文章都会有所收获,下面我们一起来看看吧。

首先看看我们直接使用RedisTemplate的问题,我们就知道RedisConfig要包含什么了,我们在RedisConfig需要规定好根据不同的查询生成的key,key和value的序列化和反序列化

我们在RedisConfig中配置的自定义方法,最终通过注解引用的就是我们自定义的方法

RedisConfig.java   :     

对redis提供的两个Template的序列化配置

import com.fasterxml.jackson.annotation.JSONAutoDetect;import com.fasterxml.jackson.annotation.PropertyAccessor;import com.fasterxml.jackson.databind.ObjectMapper;import org.springframework.cache.CacheManager;import org.springframework.cache.annotation.EnableCaching;import org.springframework.context.annotation.Bean;import org.springframework.context.annotation.Configuration;import org.springframework.data.redis.cache.RedisCacheManager;import org.springframework.data.redis.connection.RedisConnectionFactory;import org.springframework.data.redis.core.RedisTemplate;import org.springframework.data.redis.core.StringRedisTemplate;import org.springframework.data.redis.serializer.Jackson2jsonRedisSerializer; @Configuration@EnableCachingpublic class RedisConfig {           @Bean        public CacheManager cacheManager(RedisConnectionFactory connectionFactory) {            RedisCacheConfiguration cacheConfiguration =                    defaultCacheConfig()                            .disableCachingNullValues()                            .serializeValuesWith(RedisSerializationContext.SerializationPair.fromSerializer(new Jackson2JsonRedisSerializer(Object.class)));            return RedisCacheManager.builder(connectionFactory).cacheDefaults(cacheConfiguration).build(); //            RedisCacheManager rcm=RedisCacheManager.create(connectionFactory);////            return rcm;         }          @Bean        public RedisTemplate<String, Object> redisTemplate(RedisConnectionFactory factory) {            RedisTemplate<String, Object> redisTemplate = new RedisTemplate<>();            redisTemplate.setConnectionFactory(factory);            Jackson2JsonRedisSerializer jackson2JsonRedisSerializer = new Jackson2JsonRedisSerializer(Object.class);            ObjectMapper om = new ObjectMapper();            om.setVisibility(PropertyAccessor.ALL, JsonAutoDetect.Visibility.ANY);            om.enableDefaultTyping(ObjectMapper.DefaultTyping.NON_FINAL);            jackson2JsonRedisSerializer.setObjectMapper(om);            //序列化设置 ,这样为了存储操作对象时正常显示的数据,也能正常存储和获取            redisTemplate.seTKEySerializer(new StringRedisSerializer());            redisTemplate.setValueSerializer(jackson2JsonRedisSerializer);            redisTemplate.setHashKeySerializer(new StringRedisSerializer());            redisTemplate.setHashValueSerializer(jackson2JsonRedisSerializer);            return redisTemplate;        }    @Bean    public StringRedisTemplate stringRedisTemplate(RedisConnectionFactory factory) {        StringRedisTemplate stringRedisTemplate = new StringRedisTemplate();        stringRedisTemplate.setConnectionFactory(factory);        return stringRedisTemplate;    }   }

补充

redisconfig配置与使用

配置类:

@Configuration   // 定义一个配置类public class RedisConfig {    //object object        @Bean    public RedisTemplate<Object, Object> redisTemplate(RedisConnectionFactory redisConnectionFactory) {        RedisTemplate<Object, Object> template = new RedisTemplate();        template.setConnectionFactory(redisConnectionFactory);        // 使用JSON格式序列化对象,对缓存数据key和value进行转换        Jackson2JsonRedisSerializer jacksonSeial = new Jackson2JsonRedisSerializer(Object.class);        // 解决查询缓存转换异常的问题        ObjectMapper om = new ObjectMapper();        om.setVisibility(PropertyAccessor.ALL, JsonAutoDetect.Visibility.ANY);        om.enableDefaultTyping(ObjectMapper.DefaultTyping.NON_FINAL);        jacksonSeial.setObjectMapper(om);        // 设置RedisTemplate模板api的序列化方式为JSON        template.setDefaultSerializer(jacksonSeial);        return template;    } }

使用方式:

业务类中进行注入:

@AutowiredRedisTemplate redisTemplate;

使用redisTemplate的内置方法:

1 获取redis中的数据

Object object = redisTemplate.opsForValue().get("course_" + id);

2 插入数据

redisTemplate.opsForValue().set("course_" + id, course, 1, TimeUnit.DAYS);

关于“SpringBoot整合Redis之怎么编写RedisConfig”这篇文章的内容就介绍到这里,感谢各位的阅读!相信大家对“SpringBoot整合Redis之怎么编写RedisConfig”知识都有一定的了解,大家如果还想学习更多知识,欢迎关注编程网精选频道。

--结束END--

本文标题: SpringBoot整合Redis之怎么编写RedisConfig

本文链接: https://lsjlt.com/news/341822.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • SpringBoot整合Redis之编写RedisConfig
    编写RedisConfig首先我们要明白RedisConfig中需要包含什么,首先看看我们直接使用RedisTemplate的问题,我们就知道RedisConfig要包含什么了,我们...
    99+
    2024-04-02
  • SpringBoot整合Redis之怎么编写RedisConfig
    这篇文章主要介绍了SpringBoot整合Redis之怎么编写RedisConfig的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇SpringBoot整合Redis之怎么编写RedisConfig文章都会有所收...
    99+
    2023-07-02
  • SpringBoot怎么整合Redis将对象写入redis中
    本篇内容主要讲解“SpringBoot怎么整合Redis将对象写入redis中”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“SpringBoot怎么整合Redis将对象写入redis中”吧!1、...
    99+
    2023-06-30
  • SpringBoot中怎么整合Redis
    SpringBoot中怎么整合Redis,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。一、安装首先要在本地安装一个redis程序,安装过程十分简单(略过),安装完成后进入到...
    99+
    2023-06-16
  • SpringBoot怎么整合Redis缓存
    SpringBoot怎么整合Redis缓存?针对这个问题,今天小编总结了这篇文章,希望能帮助更多想解决这个问题的朋友找到更加简单易行的办法。1、引入缓存依赖<dependency> &...
    99+
    2024-04-02
  • springboot整合redis之消息队列
    目录一、项目准备二、配置类三、redis中list数据类型定时器监听队列运行即监控队列四、发布/订阅模式五、ZSet实现延迟队列一、项目准备 依赖 <!-- R...
    99+
    2024-04-02
  • SpringBoot整合Redis将对象写入redis的实现
    目录1、环境搭建 2、代码编写3、测试1、环境搭建 创建一个SpringBoot项目,普通的web项目就可以了,我这里使用的是start.aliyun 引入依赖: (1)...
    99+
    2024-04-02
  • SpringBoot整合Redis及Redis工具类撰写实例
    目录一、Maven依赖二、application.properties中加入redis相关配置三、写一个redis配置类四、写一个Redis工具类五、小结SpringBoot整合Re...
    99+
    2024-04-02
  • springboot缓存之redis整合的方法
    今天小编给大家分享一下springboot缓存之redis整合的方法的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。默认使用的...
    99+
    2023-06-08
  • SpringBoot怎样整合redis的缓存?
    这篇文章为大家带来有关SpringBoot整合redis缓存的详细介绍。大部分知识点都是大家经常用到的,为此分享给大家做个参考。一起跟随小编过来看看吧。开启远程访问:找到redis中的redis.conf文...
    99+
    2024-04-02
  • SpringBoot怎么整合Redis缓存验证码
    今天小编给大家分享一下SpringBoot怎么整合Redis缓存验证码的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。1、简介...
    99+
    2023-07-02
  • SpringBoot怎么整合Spring Cache实现Redis缓存
    今天小编给大家分享一下SpringBoot怎么整合Spring Cache实现Redis缓存的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下...
    99+
    2023-07-02
  • SpringBoot怎么整合Kafka
    本文小编为大家详细介绍“SpringBoot怎么整合Kafka”,内容详细,步骤清晰,细节处理妥当,希望这篇“SpringBoot怎么整合Kafka”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起...
    99+
    2024-04-02
  • Springboot怎么整合https
    本篇内容介绍了“Springboot怎么整合https”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!1 简介HTTP是不安全的,我们需要给它...
    99+
    2023-06-08
  • SpringBoot怎么整合EasyExcel
    这篇文章主要介绍“SpringBoot怎么整合EasyExcel”,在日常操作中,相信很多人在SpringBoot怎么整合EasyExcel问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”SpringBoot怎...
    99+
    2023-06-21
  • SpringBoot怎么整合SpringDataJPA
    本篇内容主要讲解“SpringBoot怎么整合SpringDataJPA”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“SpringBoot怎么整合SpringDataJPA”吧!目录Spring...
    99+
    2023-06-20
  • springboot怎么整合docker
    今天就跟大家聊聊有关springboot怎么整合docker,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。docker 是一个开源的应用容器引擎,基于 Go 语言 并遵从Apache...
    99+
    2023-06-19
  • SpringBoot怎么整合SpringDataRedis
    今天小编给大家分享一下SpringBoot怎么整合SpringDataRedis的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧...
    99+
    2023-06-19
  • Springboot怎么整合RabbitMQ
    本篇文章给大家分享的是有关Springboot怎么整合RabbitMQ,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。准备工作15minIDEAmaven 3.0在开始构建项目之...
    99+
    2023-06-19
  • SpringBoot怎么整合Pulsar
    这篇文章主要介绍了SpringBoot怎么整合Pulsar的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇SpringBoot怎么整合Pulsar文章都会有所收获,下面我们一起来看看吧。一、添加pom.xml依赖...
    99+
    2023-07-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作