整合 RedisTemplate

news/2024/11/4 15:35:57/

整合 RedisTemplate

什么是 RedisTemplate ?

RedisTemplate 是 Spring Data Redis 提供的一个模板类,用于简化与 Redis 数据库的常见操作。它封装了与 Redis 交互的底层细节,提供了一套高层次的 API,使得开发人员可以更加方便地进行数据存储、检索和管理操作。

使用它的优势如下:

  • 简化开发RedisTemplate 提供了一套简单易用的 API,封装了底层细节,减少了开发人员的工作量,使得与 Redis 的交互更加直观和高效。
  • 统一接口:提供了统一的接口来操作不同的数据结构,使得代码更加简洁和易读。
  • 强大的配置能力:通过 Spring 的配置文件或注解,开发人员可以轻松配置 RedisTemplate 的各项属性,如序列化方式、连接池配置等。
  • 高性能:支持管道和批量操作,能够极大地提高 Redis 操作的性能,特别是在需要进行大量数据操作时。
  • 扩展性强:可以结合 Spring 的其他功能模块,如 Spring AOP、Spring Security 等,构建更加复杂和功能丰富的应用程序。
  • 可靠的序列化机制:通过配置不同的序列化方式,如 StringRedisSerializerJackson2JsonRedisSerializer 等,确保数据存储和检索的效率和可读性。
  • 与 Spring Boot 的无缝集成:Spring Boot 提供了自动配置,使用 RedisTemplate 变得更加方便,只需简单配置即可使用。

添加依赖

java">        // 省略...<!-- 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>// 省略...

添加配置

java">spring:datasource:// 省略...data:redis:database: 0 # Redis 数据库索引(默认为 0)host: 127.0.0.1 # Redis 服务器地址port: 6379 # Redis 服务器连接端口password: qwe123!@# # Redis 服务器连接密码(默认为空)timeout: 5s # 读超时时间connect-timeout: 5s # 链接超时时间lettuce:pool:max-active: 200 # 连接池最大连接数max-wait: -1ms # 连接池最大阻塞等待时间(使用负值表示没有限制)min-idle: 0 # 连接池中的最小空闲连接max-idle: 10 # 连接池中的最大空闲连接    

自定义 RedisTemplate

/config 配置包,并添加 RedisTemplateConfig 配置类

java">package com.quanxiaoha.xiaohashu.auth.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.Jackson2JsonRedisSerializer;
import org.springframework.data.redis.serializer.StringRedisSerializer;/*** @author: 犬小哈* @date: 2024/4/6 15:51* @version: v1.0.0* @description: RedisTemplate 配置**/
@Configuration
public class RedisTemplateConfig {@Beanpublic RedisTemplate<String, Object> redisTemplate(RedisConnectionFactory connectionFactory) {RedisTemplate<String, Object> redisTemplate = new RedisTemplate<>();// 设置 RedisTemplate 的连接工厂redisTemplate.setConnectionFactory(connectionFactory);// 使用 StringRedisSerializer 来序列化和反序列化 redis 的 key 值,确保 key 是可读的字符串redisTemplate.setKeySerializer(new StringRedisSerializer());redisTemplate.setHashKeySerializer(new StringRedisSerializer());// 使用 Jackson2JsonRedisSerializer 来序列化和反序列化 redis 的 value 值, 确保存储的是 JSON 格式Jackson2JsonRedisSerializer<Object> serializer = new Jackson2JsonRedisSerializer<>(Object.class);redisTemplate.setValueSerializer(serializer);redisTemplate.setHashValueSerializer(serializer);redisTemplate.afterPropertiesSet();return redisTemplate;}
}

http://www.ppmy.cn/news/1544057.html

相关文章

大数据之Kafka

一&#xff0c;Kafka集群介绍&#xff1f; 二&#xff0c;应用场景&#xff1f; 三&#xff0c;Kafka集群安装部署&#xff1f; 一、Kafka集群介绍 Kafka是一个开源的分布式流处理平台&#xff0c;最初由LinkedIn开发&#xff0c;后来成为了Apache软件基金会的顶级项目。Kafka…

第八章 作业

1.利用 CSS 技术&#xff0c;结合链接和列表&#xff0c;设计并实现“山水之间”页面。 <!DOCTYPE html> <html><head><meta charset"utf-8" /><title>山水之间</title><style type"text/css">.all{margin-lef…

一款强大的开源OCR工具,支持90+语言识别

大家好&#xff0c;今天给大家分享一款功能强大的开源光学字符识别&#xff08;OCR&#xff09;工具Surya OCR&#xff0c;它基于先进的深度学习技术&#xff0c;提供了高效的字符识别能力&#xff0c;并支持多种语言的文本检测与识别。 项目介绍 核心功能 1.多语言支持 Sur…

能通过Ping命令访问CentOS 9 Stream,但在使用Xshell连接

能通过Ping命令访问CentOS 9 Stream&#xff0c;但在使用Xshell进行SSH连接失败 1. **确认SSH服务状态**&#xff1a;2. **检查SSH配置**&#xff1a;要检查和设置PermitRootLogin选项&#xff0c;您需要编辑SSH配置文件/etc/ssh/sshd_config。以下是具体步骤&#xff1a;1. 打…

Chrome谷歌浏览器加载ActiveX控件之allWebDesktop控件介绍

背景 allWebDesktop控件是一款方便用户在线打开各类文档的OA办公控件。它设计比较轻巧&#xff0c;充分利用计算机程序资源打开文档&#xff0c;并将程序窗口嵌入到allWebDesktop控件区域内&#xff0c;从而实现浏览器内打开各类文档效果。 allWebPlugin中间件是一款为用户提供…

HCIP--2 TCP有关笔记

学习目标&#xff1a; 目录 学习目标&#xff1a; 学习内容&#xff1a; TCP协议 七层结构 END.......... 问题&#xff1a;TCP/IP 的四层协议 问题&#xff1a;网络的七层结构及其作用 问题&#xff1a;协议名称是什么&#xff1f; TELNET---远程登陆系统 HTTP---超文本传输协…

【01初识】-初识 RabbitMQ

目录 学习背景1- 初识 MQ1-1 同步调用什么是同步调用&#xff1f;小结&#xff1a;同步调用优缺点 1-2 异步调用什么是异步调用&#xff1f;小结&#xff1a;异步调用的优缺点&#xff0c;什么时候使用异步调用&#xff1f; 1-3 MQ 技术选型 学习背景 异步通讯的特点&#xff…

<十七>Ceph 块存储理论与实践

Ceph集群的检查可以简化为 MON 状态检查、OSD 状态检查和 PG 状态检查。上一章节我们重点介绍了 MON 的状态和维护方法。本章节将重点介绍 OSD 状态和块存储常用命令。 Tips&#xff1a;如果是故障排查&#xff0c;请在确保 MON 状态正常的情况下进行 OSD 和 PG 状态检查。Tips…