[Redis]——Spring整合Redis(SpringDataRedis)

⭐准备工作:

  • 确保Redis服务已启动
  • idea开发环境

⭐Redis整合步骤:

1.pom文件引入依赖

2.yml文件配置连接信息

3.修改Redis序列化方式

4.注入RedisTemplate 使用


小知识:

        Spring整合的Redis可以将Object对象自动序列化成字符串,如果我们想存储中文的话,要改序列化的方式为UTF-8,springdataredis默认的序列化方式我们是看不懂的。

1.pom文件引入依赖

        <!-- redis起步依赖-->
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-data-redis</artifactId>
        </dependency>
        <!-- redis连接池-->
        <dependency>
            <groupId>org.apache.commons</groupId>
            <artifactId>commons-pool2</artifactId>
        </dependency>

2.yml文件配置连接信息

spring:
  data:
    redis:
      host: 
      port: 6379
      password: 
      lettuce:
        pool:
          max-active: 8 # 最大连接数
          max-idle: 8 # 最大空闲连接
          min-idle: 8 # 最小空闲连接
          max-wait: 100ms # 等待时长

3.修改Redis序列化方式

创建Redis的配置类

注意:

        如果你使用的SpringMVC自带Jackson依赖,无需再次引入

        <!--Jackson依赖-->
        <dependency>
            <groupId>com.fasterxml.jackson.core</groupId>
            <artifactId>jackson-databind</artifactId>
        </dependency>
@Configuration
public class RedisConfig {

    @Bean
    public RedisTemplate<String, Object> redisTemplate(RedisConnectionFactory connectionFactory){
        // 创建redistemplate对象
        RedisTemplate<String, Object> template = new RedisTemplate<>();
        // 设置连接工厂
        template.setConnectionFactory(connectionFactory);
        // 创建JSON序列化工具
        GenericJackson2JsonRedisSerializer jsonRedisSerializer = new GenericJackson2JsonRedisSerializer();
        // 设置Key的序列化
        template.setKeySerializer(RedisSerializer.string());
        template.setHashKeySerializer(RedisSerializer.string());
        // 设置Value的序列化
        template.setValueSerializer(jsonRedisSerializer);
        template.setHashValueSerializer(jsonRedisSerializer);
        // 返回
        return template;
    }
}

4.注入RedisTemplate 使用

    @Autowired
    RedisTemplate<String, Object> redisTemplate;

    @Test
    void contextLoads() {
        ValueOperations opsForValue = redisTemplate.opsForValue();
        opsForValue.set("name", "潘茨");
        String name = (String) opsForValue.get("name");
        System.out.println(name);
    }

在客户端查看是否添加成功

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mfbz.cn/a/430259.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

数学建模【灰色关联分析】

一、灰色关联分析简介 一般的抽象系统,如社会系统、经济系统、农业系统、生态系统、教育系统等都包含有许多种因素&#xff0c;多种因素共同作用的结果决定了该系统的发展态势。人们常常希望知道在众多的因素中&#xff0c;哪些是主要因素&#xff0c;哪些是次要因素;哪些因素…

高级统计方法 第5次作业

作业评阅&#xff1a; 概念 1.问题 2.问题&#xff08;略&#xff09; 4.问题&#xff08;略&#xff09; &#xff08;a&#xff09;问题&#xff08;略&#xff09; 10%&#xff0c;忽略 X < 0.05和 X > 0.95的情况。 &#xff08;b&#xff09;问题&#xff08;略…

金田金業: 避险情绪骤升 黄金暴力拉升

现货黄金周一(3月4日)亚市早间开盘于2082美元/盎司&#xff0c;最高2119.86美元/盎司&#xff0c;最低2079.44美元/盎司&#xff0c;收盘2114.28美元/盎司&#xff0c;全天波幅约40美金&#xff0c;当日涨幅1.51%。 【基本面】 周一(3月4日)无重要数据公布&#xff0c;投资者关…

TPM引领智能制造新篇章:赋能企业转型升级

在智能制造日益成为工业发展主流趋势的今天&#xff0c;全面生产维护&#xff08;Total Productive Maintenance&#xff0c;简称TPM&#xff09;作为一种先进的管理理念和方法&#xff0c;正逐渐展现出其为企业实现智能制造赋能助力的巨大潜力。TPM不仅关注设备的维护和保养&a…

【机器学习】包裹式特征选择之递归特征添加法

&#x1f388;个人主页&#xff1a;豌豆射手^ &#x1f389;欢迎 &#x1f44d;点赞✍评论⭐收藏 &#x1f917;收录专栏&#xff1a;机器学习 &#x1f91d;希望本文对您有所裨益&#xff0c;如有不足之处&#xff0c;欢迎在评论区提出指正&#xff0c;让我们共同学习、交流进…

Leetcode刷题笔记题解(C++):232. 用栈实现队列

思路&#xff1a;双栈实现入队列和出队列的操作 //AB栈来实现队列 //A栈用来push 可以利用A栈获取到队列的back即A.top //B栈用来pop 如果要获取队列的top&#xff0c;可以先把A栈元素依次弹出依次压入B栈中&#xff0c;然后B.top就是队列的top&#xff0c;pop也类似 cla…

云原生学习

1. 高可用架构 1.1 架构图 Kubernetes是属于主从设备模型&#xff08;Master-Slave架构&#xff09;&#xff0c;即有Master节点负责核心的调度、管理和运维&#xff0c;Slave节点则执行用户的程序。在Kubernetes中&#xff0c;主节点一般被称为Master Node 或者 Head Node&am…

【C语言】Leetcode 206.反转链表

博主主页&#xff1a;17_Kevin-CSDN博客 收录专栏&#xff1a;《Leetcode》 题目 解决思路 思路一&#xff1a;翻转链表 struct ListNode* reverseList(struct ListNode* head) {if(head NULL){return NULL;}struct ListNode* n1 NULL,*n2 head,*n3 n2 -> next;while(…

手写分布式配置中心(三)增加实时刷新功能(短轮询)

要实现配置自动实时刷新&#xff0c;需要改造之前的代码。 服务端改造 服务端增加一个版本号version&#xff0c;新增配置的时候为1&#xff0c;每次更新配置就加1。 Overridepublic long insertConfigDO(ConfigDO configDO) {insertLock.lock();try {long id 1;List<Con…

【EI会议征稿通知】第六届人工智能技术与应用国际学术会议(ICAITA 2024)

第六届人工智能技术与应用国际学术会议(ICAITA 2024) 2024 6th International Conference on Artificial Intelligence Technologies and Applications 第六届人工智能技术与应用国际学术会议(ICAITA 2024)&#xff0c;由长春理工大学主办&#xff0c;长春理工大学电子信息工…

【Linux】Shell命令运行原理和权限详解

【Linux】Shell命令运行原理和权限详解 一、剩余指令的补充1.tar指令2.bc指令3.uname4.热键 二、Shell命令运行原理1.Shell2.为什么Linux不让用户直接使用kernel 三、Linux权限概念四、Linux权限管理1.文件访问的用户分类2.文件类型和访问权限&#xff08;1&#xff09;文件类型…

H3C PBR 实验

H3C PBR 实验 实验拓扑 ​​ 实验需求 按照图示配置 IP 地址&#xff0c;公司分别通过电信和联通线路接入互联网公司内网配置 RIP 互通&#xff0c;公网配置 OSPF 互通&#xff0c;R6上配置默认路由指向 R1&#xff0c;内网使用路由器模拟 PCR1 分别在电信和联通出口上配置…

【Python】进阶学习:pandas--info()用法详解

【Python】进阶学习&#xff1a;pandas–info()用法详解 &#x1f308; 个人主页&#xff1a;高斯小哥 &#x1f525; 高质量专栏&#xff1a;Matplotlib之旅&#xff1a;零基础精通数据可视化、Python基础【高质量合集】、PyTorch零基础入门教程&#x1f448; 希望得到您的订…

力扣hot10---子串

题目&#xff1a; 思路&#xff1a; 一看到子数组的和&#xff0c;就很容易想到前缀和&#xff0c;求出来前缀和数组后&#xff0c;对前缀和数组进行两重for循环遍历&#xff0c;就大功告成啦&#xff01;&#xff08;感觉想一会儿就可以想到&#xff09; 代码&#xff1a; …

《操作系统原理》算法总结

一、进程调度算法 先来先服务调度算法&#xff08;FCFS&#xff09; 每次调度是从就绪队列中&#xff0c;选择一个最先进入就绪队列的进程&#xff0c;把处理器分配给该进程&#xff0c;使之得到执行。该进程一旦占有了处理器&#xff0c;它就一直运行下去&#xff0c;直到该…

使用IGEV和双目相机生成深度图实现测距

介绍 以下是源代码的demo&#xff0c;我根据自己的需求&#xff0c;做了部分改动&#xff0c;比如双目相机输入的格式是RGBA&#xff0c;但IGEV处理的输入通道数是3&#xff0c;我就在其他py文件将图片转成RGB格式 设备 1080ti和jetson orin nx两个都可以 代码 import sys…

VS2019 - error C2653: 不是类或命名空间名称

文章目录 VS2019 - error C2653: 不是类或命名空间名称概述笔记类的头文件类的实现文件备注END VS2019 - error C2653: 不是类或命名空间名称 概述 工程开了预编译头包含. 编码中, 随手写一个类, 将功能函数加入, 还没开始用这个类, 先习惯性的编译一下. 编译报错如下: St…

C# 高级特性(十一):多线程之async,await

之前使用Thread和Task启动多线程时都会遇到一个麻烦&#xff0c;就是如何反馈结果。在代码里就是如何设计回调函数。如果带界面还得考虑UI线程的问题。 而使用async&#xff0c;await可以达到两个效果。 1 不用设计回调函数&#xff0c;直接按单线程的格式写。 2 不用考虑UI…

音视频学习笔记——设计模式

✊✊✊&#x1f308;大家好&#xff01;本篇文章主要记录自己在进行音视频学习中&#xff0c;整理的包括单例模式、工厂模式、策略模式、观察者模式等6种相关的设计模式和4种准则的内容重点&#x1f607;。 音视频学习笔记——设计模式 本专栏知识点是通过<零声教育>的音…

12-Java享元模式 ( Flyweight Pattern )

Java享元模式 摘要实现范例 享元模式&#xff08;Flyweight Pattern&#xff09;主要用于减少创建对象的数量&#xff0c;以减少内存占用和提高性能 享元模式尝试重用现有的同类对象&#xff0c;如果未找到匹配的对象&#xff0c;则创建新对象 享元模式属于结构型模式&…