Springboot集成Redis举例

依赖包

配置文件(application.properties)

配置文件(RedisConfig.java)

import com.fasterxml.jackson.annotation.JsonAutoDetect;
import com.fasterxml.jackson.annotation.JsonTypeInfo;
import com.fasterxml.jackson.annotation.PropertyAccessor;
import com.fasterxml.jackson.databind.ObjectMapper;
import com.fasterxml.jackson.databind.jsontype.impl.LaissezFaireSubTypeValidator;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.data.redis.connection.RedisConnectionFactory;
import org.springframework.data.redis.connection.lettuce.LettuceConnectionFactory;
import org.springframework.data.redis.core.RedisTemplate;
import org.springframework.data.redis.serializer.Jackson2JsonRedisSerializer;
import org.springframework.data.redis.serializer.RedisSerializer;
import org.springframework.data.redis.serializer.StringRedisSerializer;

import java.text.SimpleDateFormat;

/**
 * @author :gongxr
 * @description: 自定义RedisTemplate
 * @date :Created in 2021/6/30
 */
@Configuration
public class RedisConfig {
    @Bean
    public RedisTemplate redisTemplate(LettuceConnectionFactory redisConnectionFactory) {
        RedisTemplate redisTemplate = new RedisTemplate<>();
        redisTemplate.setConnectionFactory(redisConnectionFactory);
        // 修改key的默认序列化器为 string
        RedisSerializer stringRedisSerializer = new StringRedisSerializer();
        redisTemplate.setDefaultSerializer(stringRedisSerializer);

        // 自定义 对象转换
        ObjectMapper objectMapper = new ObjectMapper();
        objectMapper.setDateFormat(new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"));
        objectMapper.setVisibility(PropertyAccessor.ALL, JsonAutoDetect.Visibility.ANY);
//        objectMapper.enableDefaultTyping(ObjectMapper.DefaultTyping.NON_FINAL);
        objectMapper.activateDefaultTyping(
                LaissezFaireSubTypeValidator.instance,
                ObjectMapper.DefaultTyping.NON_FINAL,
                JsonTypeInfo.As.WRAPPER_ARRAY);
        Jackson2JsonRedisSerializer valueSerializer = new Jackson2JsonRedisSerializer<>(Object.class);
        valueSerializer.setObjectMapper(objectMapper);
        redisTemplate.afterPropertiesSet();
        return redisTemplate;
    }

}

测试代码

Original: https://www.cnblogs.com/gongxr/p/14956148.html
Author: 星瑞
Title: Springboot集成Redis举例

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/529072/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

  • Locationhttpd反向代理

    Location\httpd\反向代理 参考:http://tengine.taobao.org/nginx_docs/cn/docs/http/ngx_http_core_mod…

    Linux 2023年6月11日
    0106
  • 兼容各种浏览器的上下滚动代码

    直接切入正题 红色的表示为要注意统一的。 蓝色是表示要更改的。 内容高度一定要大于box1的高度否则不会滚动,本框架用的是phpcms,大家可根据自己的框架更改循环。 | {pc:…

    Linux 2023年6月13日
    088
  • 我的2021年总结

    前言 这一年把整个重心都放到考研上,对工作并没有那么上心,但也做个年终总结吧。相应的立一个flag,明年来看看工作上的flag完成了没有?2022年在技术上要成长啊。 22岁很迷茫…

    Linux 2023年6月8日
    0110
  • 系统初始化

    一般系统安装好后,按照自己习惯定义 csharp;gutter:true;</p> <h1>alias</h1> <p>echo &…

    Linux 2023年6月7日
    057
  • DHCP服务

    一、dhcp介绍 dhcp 应用层协议 动态主机配置协议 作用: 为主机动态分配tcp/ip参数(ip地址、掩码、网关、DNS服务器地址) Linux实现dhcp服务 软件: dh…

    Linux 2023年6月7日
    085
  • mac 如何仅安装redis-cli客户端

    brew tap ringohub/redis-cli brew update && brew doctor brew install redis-cli 【注】需…

    Linux 2023年5月28日
    0118
  • 添加SSH服务

    1、基于commit命令创建 1.1 启动容器 [root@master ~]# docker run -it ubuntu:18.04 bash #&#x66F4;&am…

    Linux 2023年6月13日
    093
  • java调用python的惨痛史(无法获取环境变量)

    环境:java,was,python2.6,红帽linux,oracle,python用cx_Oracle事情是这样的,有个需求,需要对数据库进行处理,简单说就是把数据取出来,用p…

    Linux 2023年6月6日
    084
  • 重磅!微信官方恢复了个人红包封面的制作入口,限时开放!!.md

    前两天微信开放了个人红包封面,引起了大家欢呼雀跃~ 可惜……没几个小时,因为一个不可描述的原因,官方小程序下架了…… 但是, 现在好…

    Linux 2023年6月15日
    0160
  • linux man 中文手册安装

    Linux Man (手册) linux man 中文手册安装 步骤 下载源程序 解压文件并进入该目录 unzip master.zip ;cd master 安装支持程序 sud…

    Linux 2023年6月7日
    084
  • shell判断文件是否存在

    shell判断文件,目录是否存在或者具有权限 !/bin/sh 3. myPath=”/var/log/httpd/” myFile=”/var…

    Linux 2023年5月28日
    099
  • 附032.Kubernetes实现蓝绿发布

    蓝绿发布原理 蓝绿发布本质上是希望能优雅无误的迭代应用,以便于使应用平稳提供服务。通常是不停老版本的同时对新版本进行先发布,然后确认无误后进行流量切换,即并行部署。Kubernet…

    Linux 2023年6月13日
    097
  • 27. rz与sz上传下载文件

    工作中需要在 Linux 和 Windows 之间传输文件,一般使用xftp等gui工具完成。但是有些第三方linux命令也可以完成上传下载操作 从Linux下载文件到本机 , 在…

    Linux 2023年5月27日
    085
  • Linux 查看运行中进程的 umask

    线上某台虚机因为故障重装了系统(基线 CentOS 6.9 内核 2.6.x),重新部署了应用。这个应用会生成一个文件,到NFS挂载目录。 而这个 NFS 挂载目录是一个 FTP …

    Linux 2023年5月27日
    0154
  • OSI模型 TCP/IP协议

    系统中每打开一个程序,系统会自动分配一个端口号(0~65535) 端口号:来区分应用程序 网络层:传给哪台主机 加入ip地址(源发出去的地址 目:目的地址)选路 数据链路层:mac…

    Linux 2023年6月6日
    097
  • python学习(解析python官网会议安排)

    对html的解析是网页抓取的基础,分析抓取的结果找到自己想要的内容或标签以达到抓取的目的。 HTMLParser是python用来解析html的模块。它可以分析出html里面的标签…

    Linux 2023年6月14日
    0108
亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球