Redis配置类

2023-11-10

天行健,君子以自强不息;地势坤,君子以厚德载物。


每个人都有惰性,但不断学习是好好生活的根本,共勉!


文章均为学习整理笔记,分享记录为主,如有错误请指正,共同学习进步。


在使用redis时,会用到RedisTemplate工具,需要配置配置类,以此来连接工厂、序列化存入的键值。
这里配置了两个不同的配置类,内容大致形同,细节略有不同,可挑选使用。

Redis配置类1

具备:序列化、工厂连接、键值字符串序列化、hash键值字符串序列化

package com.data.config;

import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.data.redis.connection.RedisConnectionFactory;
import org.springframework.data.redis.core.RedisTemplate;
import org.springframework.data.redis.serializer.RedisSerializer;
import org.springframework.data.redis.serializer.StringRedisSerializer;

/**
 * @ClassDescription:
 * @Author:李白
 * @Date:2023/7/25 14:44
 */
@Configuration
public class RedisTemplateConfig {

    @Bean(name = "redisTemplate")
    public RedisTemplate redisTemplate(RedisConnectionFactory factory){
        System.out.println("redis序列化-->");
        RedisTemplate redisTemplate = new RedisTemplate();
        RedisSerializer redisSerializer = new StringRedisSerializer();
        //连接工厂
        redisTemplate.setConnectionFactory(factory);
        //键序列化
        redisTemplate.setKeySerializer(redisSerializer);
        //值序列化
        redisTemplate.setValueSerializer(redisSerializer);
        //key hashMap序列化
        redisTemplate.setHashKeySerializer(redisSerializer);
        //value hashMap序列化
        redisTemplate.setHashValueSerializer(redisSerializer);
        return redisTemplate;
    }

}

Redis配置类2

具备:序列化、工厂连接、键值序字符串列化、hash键值Json序列化

package com.data.config;

import com.fasterxml.jackson.annotation.JsonAutoDetect;
import com.fasterxml.jackson.annotation.PropertyAccessor;
import com.fasterxml.jackson.databind.ObjectMapper;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.data.redis.connection.RedisConnectionFactory;
import org.springframework.data.redis.core.RedisTemplate;
import org.springframework.data.redis.serializer.Jackson2JsonRedisSerializer;
import org.springframework.data.redis.serializer.StringRedisSerializer;

/**
 * @ClassDescription:
 * @Author:李白
 * @Date:2023/7/25 14:44
 */
@Configuration
public class RedisTemplateConfig {
    @Bean
    @SuppressWarnings("all")
    public RedisTemplate<String, Object> redisTemplate(RedisConnectionFactory factory) {
        RedisTemplate<String, Object> template = new RedisTemplate<String, Object>();
        template.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);
        StringRedisSerializer stringRedisSerializer = new StringRedisSerializer();
        // key采用String的序列化方式
        template.setKeySerializer(stringRedisSerializer);
        // hash的key也采用String的序列化方式
        template.setHashKeySerializer(stringRedisSerializer);
        // value序列化方式采用jackson
        template.setValueSerializer(jackson2JsonRedisSerializer);
        // hash的value序列化方式采用jackson
        template.setHashValueSerializer(jackson2JsonRedisSerializer);
        template.afterPropertiesSet();
        return template;
    }

}


本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Redis配置类 的相关文章

  • 如何在多线程应用程序中使用 StackExchange.Redis IDatabase 对象?

    我从 StackExchange Redis 文档中收到有关如何使用 IDatabase 的混合消息 在里面基本使用文档 https github com StackExchange StackExchange Redis blob mas
  • 是否可以使用带有 FUSE 文件系统的 Linux VFS 缓存?

    默认情况下 Linux VFS 缓存似乎不适用于 FUSE 文件系统 例如 read 调用似乎被系统地转发到 FUSE 文件系统 我在 FUSE 特定的远程文件系统上工作 我需要一个非常积极的缓存 我需要实现自己的页面缓存吗 或者是否可以为
  • Redis多插入问题

    我尝试多次插入 但它给了我错误 http pastie org 7337421 http pastie org 7337421 cat mass insert txt 3 r n 3 r nSET r n 3 r nkey r n 5 r
  • Redis部署配置-主从复制

    目前我有两台服务器 我已经部署了基于node js Express JS的Web服务API 我正在使用 Redis 来缓存 JSON 字符串 将此设置部署到生产中的最佳选择是什么 我懂了here https stackoverflow co
  • 如何清理redis中不活跃的玩家?

    我正在制作一个使用 redis 来存储游戏状态的游戏 它可以很好地跟踪位置和玩家 但我没有一个好的方法来清理不活跃的玩家 每当玩家移动时 这是一个半慢速移动游戏 想想每秒 1 5 帧 我就会用新位置更新哈希并删除旧位置键 跟踪活跃玩家的最佳
  • AWS Redis 从外部连接

    有没有办法从外部 AWS 网络连接 AWS 上托管的 Redis 实例 我有一个基于 Windows 的 EC2 实例在 AWS 上运行 另一个是 Redis 缓存节点 我知道有人问过这个问题 但答案是在基于 Linux 的系统中 但我的是
  • 使用 EVAL、SCAN 和 DEL 的 Redis 通配符删除脚本返回“非确定性命令后不允许写入命令”

    因此 我正在寻求构建一个 lua 脚本 该脚本使用 SCAN 根据模式查找键并删除它们 原子地 我首先准备了以下脚本 local keys local done false local cursor 0 repeat local resul
  • socket.io redis 和内存泄漏

    我的socket io版本是 电子邮件受保护 cdn cgi l email protection and 电子邮件受保护 cdn cgi l email protection 我在 Windows 上 在某些地方 我看到问题已得到解决 我
  • Node.js 上通过套接字连接 Redis

    由于共享托管 目标主机上的我的 redis 服务器不在端口上运行 而是在非常特定的套接字上运行 可以通过套接字文件连接到该套接字 只有我的用户可以访问 但是 我还没有找到如何通过套接字指定连接node redis and connect r
  • 保护节点 Redis

    我正在尝试保护 Node Redis IPC 服务器以使用私钥 公钥 我已经关注了本教程 http bencane com 2014 02 18 sending redis traffic through an ssl tunnel wit
  • python 3.5 中的 json.loads 和 Redis

    我使用 json dumps 创建了一个 JSON 对象 并在 Redis 列表中将其 RPUSH ed 当使用 LRANGE redis lrange 返回 JSON 时 我收到一个二进制字符串 b si 00 ff 所以 json lo
  • 如何在节点redis客户端上设置读取超时?

    在 github 上我没有看到读取超时的选项 https github com NodeRedis node redis https github com NodeRedis node redis There s connect timeo
  • Docker-compose Predis 不通过 PHP 连接

    我正在尝试使用 docker compose 将 PHP 与 redis 连接 docker compose yml version 2 services redis image redis 3 2 2 php image company
  • 在 aws-elasticache 上使用 memcached 或 Redis

    我正在 AWS 上开发一个应用程序 并使用 AWS elasticache 进行缓存 我对使用 memcached 或 redis 感到困惑 我阅读了有关 redis 3 0 2 更新以及它现在如何等同于 memchached 的文章 ht
  • Redis SYNC 套接字上的错误情况:连接被拒绝

    在我的 django 应用程序中使用 celery 和 redis 一切都工作正常 直到我遇到了问题 redis 文件的位置已更改 redis 无法访问它们 经过查找 原来这是由于网络随机攻击造成的 需要添加confg 我添加文件后 一段时
  • 如何在Redis中进行持久化存储?

    关闭redis服务器后 使用set存储的值被破坏 在这里我找到了使用持久性存储的方法 有人帮助我 如何使用javascript实现这一点 我想将客户端的一些值存储在 redis 数据库中 并且必须在其他客户端中使用该值 您需要配置 Redi
  • Redis发布/订阅:查看当前订阅了哪些频道

    我目前有兴趣查看我拥有的 Redis 发布 订阅应用程序中订阅了哪些频道 当客户端连接到我们的服务器时 我们将它们注册到如下所示的通道 user user id 这样做的原因是我希望能够看到谁 在线 目前 我在不知道客户端是否在线的情况下盲
  • 2 个具有共享 Redis 依赖的 Helm Chart

    目前 我有 2 个 Helm Charts Chart A 和 Chart B Chart A 和 Chart B 对 Redis 实例具有相同的依赖关系 如Chart yaml file dependencies name redis v
  • Spring Data JPA Redis:无法编写基于自定义方法的查询

    我已经使用 Redis 配置了 Spring Data JPA 并使用RedisRepositorieswith 提供了类似的方法find findAll 所有这些方法似乎都工作得很好 但我无法编写我的自定义方法 RedisEntity f
  • 使用 Celery 通过 Gevent 进行实时、同步的外部 API 查询

    我正在开发一个 Web 应用程序 该应用程序将接收用户的请求 并且必须调用许多外部 API 来编写对该请求的答案 这可以直接从主 Web 线程使用 gevent 之类的东西来扇出请求来完成 或者 我在想 我可以将传入的请求放入队列中 并使用

随机推荐

  • 使用广泛的开源PCB文件查看器 Gerbv 含多个严重漏洞

    聚焦源代码安全 网罗国内外最新资讯 编译 代码卫士 专栏 供应链安全 数字化时代 软件无处不在 软件如同社会中的 虚拟人 已经成为支撑社会正常运转的最基本元素之一 软件的安全性问题也正在成为当今社会的根本性 基础性问题 随着软件产业的快速发
  • SpringBoot配置加载顺序

    目录 前言 一 Spring Boot 配置优先级 二 命令行参数 三 示例分析 前言 Spring Boot 不仅可以通过配置文件进行配置 还可以通过环境变量 命令行参数等多种形式进行配置 这些配置都可以让开发人员在不修改任何代码的前提下
  • 小学steam计算机课程案例,STEAM课程典型案例——桥世界

    STEAM课程就是集科学 技术 工程 艺术 数学等多学科融合的综合教育 基于一个问题 小组合作 同伴讨论 着重培养学生设计能力与问题解决能力 为促进STEAM教育有效进入课堂 提高学生动手能力 激发学生创造能力 2019年4月 文华小学6年
  • MSSQL数据库注入

    MSSQL数据库注入实践 一 MSSQL注入的基础知识 一 注入点的检测 1 数据库类型判断 概述 MSSQL数据库中 存在一个系统表sysobjects 可以通过判断这个表是否存在来判断该数据库是否为MSSQL数据库 SQL语句执行 se
  • CTFSHOW内部赛web5_登陆就有flag

    网站地址 https ctf show 经过一番固定的注入尝试发现 1 长度限制为5 2 存在过滤且过滤的字符会有回显 能留下来的字符很少这里列出 gt lt 在排除一下 gt lt 可以只留等于号 逗号和点号暂时没想出来怎么利用 所以可用
  • 手把手操作JS逆向爬虫入门(三)---Headers请求头参数加密

    知识点 1 请求头加密参数分析 2 JS base64加密的多个实现方法 目标网站 aHR0cHM6Ly93d3cub2tsaW5rLmNvbS96aC1jbi9idGMvdHgtbGlzdD9saW1pdD0yMCZwYWdlTnVtPT
  • STM32 ADC转换实验

    摘自 STM32 ADC转换实验 作者 追兮兮 发布时间 2020 10 29 09 42 24 网址 https blog csdn net weixin 44234294 article details 109333307 STM32
  • 通过scrapy命令行工具做网页分析

    前言 Scrapy是由python语言开发的一个快速 高效的web抓取框架 用于抓取web站点并从页面中提取结构化的数据 只需要实现少量的代码 就能够快速的抓取 它最吸引人的地方在于它是一个爬虫框架 任何人都可以根据自己的需求方便的修改 s
  • Windows 下Maven安装配置(本地仓库配置)

    一 下载maven maven官网 http maven apache org 下载下来也就是一个压缩文件 解压 我下载的是3 5 2版本 解压之后如下 路径为 D Program Files apache maven 3 5 2 二 配置
  • idea繁体字-中文输入法变繁体字

    今天提交代码发现 在IDEA中输入法突然变成繁体字 解决方案如下 idea中适用的快捷键和你输入法快捷键冲突 具体是crtl shift f
  • Docker学习

    目录 外部访问容器 映射所有接口地址 映射到指定地址的指定端口 映射到指定地址的任意端口 查看映射端口配置 容器互联 新建网络 连接容器 Docker Compose 配置 DNS 高级网络配置 快速配置指南 容器访问控制 容器之间访问 访
  • 解决iframe重定向让父级页面跳转

    原文 http www jb51 net article 40583 htm 有内嵌iframe的页面 当session过期时 点击连接重定向后的跳转会在iframe中跳转 在登录页面中加入下面的代码 就会在最外层页面跳转 原文 http
  • JVM 默认Xss大小

    abin lee java XX PrintFlagsFinal version grep ThreadStackSize intx CompilerThreadStackSize 0 pd product intx ThreadStack
  • 独步潮流!如何在私有数据集上塑造GPT式大型语言模型的独特风格!

    导读 Fine tune 是一种能够以成本效益的方式调整预训练 LLM 的技巧 本文主要比较了用于最新的开源 LLM Falcon 的不同参数高效微调方法 并为大家介绍如何使用单个 GPU 并在一天内对开源的大语言模型 Falcon 进行微
  • 【色度学】光度学基础

    1 光的本质 1 波长不同的可见光 引起人眼的颜色感觉不同 2 人们观察到的颜色是物体和特有色光相结合的结果 而不是物体产生颜色的结果 2 光度量 ISP 光的能量与颜色 1 mjiansun的博客 CSDN博客 ISP 光的能量与颜色 2
  • 鸿蒙2.0都来了,一起把环境搭建起来!

    自4月底开始 鸿蒙2 0系统便迎来公测 6月2日将举行鸿蒙操作系统以及华为全场景新品发布会 届时会正式推出鸿蒙OS稳定版 针对华为发布的鸿蒙系统 网上评论褒贬不一 有吹捧的 有无脑黑的 在这里一口君就不做评价了 但是有2点 对任何一个新兴事
  • spdk探秘-----vhost 、ISCSI、 NVMe-oF Target

    vhost target 这里我们主要介绍用SPDK vhost target来加速虚拟机中的I O 在介绍这个加速方案之前 我们先看看主流的I O设备虚拟化的方案 纯软件模拟 完全利用软件模拟出一些设备给虚拟机使用 主要的工作可以在Sim
  • http://www.xxx.com/ skipped. Content of size 67099 was truncated to 59363

    如果提示http www xxx com skipped Content of size 67099 was truncated to 59363 在nutch site xml中添加
  • python关系运算符连续使用_Python比较运算符(关系运算符)

    比较运算符 也称关系运算符 用于对常量 变量或表达式的结果进行大小比较 如果这种比较是成立的 则返回 True 真 反之则返回 False 假 True 和 False 都是 bool 类型 它们专门用来表示一件事情的真假 或者一个表达式是
  • Redis配置类

    天行健 君子以自强不息 地势坤 君子以厚德载物 每个人都有惰性 但不断学习是好好生活的根本 共勉 文章均为学习整理笔记 分享记录为主 如有错误请指正 共同学习进步 Redis配置类 Redis配置类1 Redis配置类2 在使用redis时