springboot2.5.0和redis整合配置详解

 更新时间:2021年06月02日 14:07:08   作者:wangzswu  
本篇文章向大家介绍springboot2.5.0 整合 redis 配置方法,教大家在pom添加依赖的方法如何调用redis,本文通过实例代码给大家介绍的非常详细,需要的朋友可以参考下

基本概况

为什么使用缓存

缓存是在内存中存储的数据备份,当数据没有发生本质变化时
就可以直接从内存中查询数据,而不用去数据库查询(在磁盘中)
CPU读取内存的速度要比读取磁盘快,可以提高效率

Redis缓存

Remote Dictionnary Server(远程数据服务),是一款内存高速缓存数据库。
五种常用数据类型: String(字符串)、List(列表)、Set(集合)、Hash(散列)、ZSet(有序集合)
可持久化:一边运行,一边向硬盘备份一份,防止断电等偶然情况,导致内存中数据丢失

下载Redis

链接: https://pan.baidu.com/s/1BMt4cIxjKTtyL3T0_iSC2w 提取码: rkne

1. pom添加依赖

<!--redis-->
 <dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-data-redis</artifactId>
 </dependency>

2. application.properties 配置文件

#===========Redis配置===========
# Redis数据库索引(默认为0)  
spring.redis.database=0
# Redis服务器地址  
spring.redis.host=127.0.0.1
# Redis服务器连接端口  
spring.redis.port=6379
# Redis服务器连接密码
spring.redis.password=root
# 连接池最大连接数(使用负值表示没有限制)  
spring.redis.pool.max-active=200
# 连接池最大阻塞等待时间(使用负值表示没有限制)  
spring.redis.pool.max-wait=-1
# 连接池中的最大空闲连接 
spring.redis.pool.max-idle=10
# 连接池中的最小空闲连接  
spring.redis.pool.min-idle=0
# 连接超时时间(毫秒)
spring.redis.timeout=2000ms
spring.redis.jedis.pool.max-wait=-1ms
#===========Redis配置===========

3. RedisConfig.java 配置类

package org.fh.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;

import com.fasterxml.jackson.databind.ObjectMapper;
import com.fasterxml.jackson.databind.jsontype.impl.LaissezFaireSubTypeValidator;
import com.fasterxml.jackson.annotation.PropertyAccessor;
import com.fasterxml.jackson.annotation.JsonAutoDetect;

/**
 *  说明:Redis
 * from:www.fhadmin.org
 */
@Configuration
public class RedisConfig {

	@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.activateDefaultTyping(LaissezFaireSubTypeValidator.instance , 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;
	}

}

4. 调用redis

 @Autowired
   private RedisTemplate<String, Object> redisTemplate;

	/**
	 * 普通缓存获取
	 * @param key 键
	 * @return 值
	 */
	public Object get(String key) {
		return key == null ? null : redisTemplate.opsForValue().get(key);
	}

	/**
	 * 普通缓存放入
	 * @param key 键
	 * @param value 值
	 * @return true成功 false失败
	 */
	public boolean set(String key, Object value) {
		try {
			redisTemplate.opsForValue().set(key, value);
			return true;
		} catch (Exception e) {
			//e.printStackTrace();
			return false;
		}
	}

以上就是springboot2.5.0 整合 redis 配置详解的详细内容,更多关于springboot2.5.0 整合 redis 的资料请关注脚本之家其它相关文章!

相关文章

  • Spring Boot使用线程池处理上万条数据插入功能

    Spring Boot使用线程池处理上万条数据插入功能

    这篇文章主要介绍了Spring Boot使用线程池处理上万条数据插入功能,使用步骤是先创建一个线程池的配置,让Spring Boot加载,用来定义如何创建一个ThreadPoolTaskExecutor,本文通过实例代码给大家介绍的非常详细,需要的朋友参考下吧
    2022-08-08
  • Java使用Collections.sort对中文进行排序方式

    Java使用Collections.sort对中文进行排序方式

    这篇文章主要介绍了Java使用Collections.sort对中文进行排序方式,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2021-11-11
  • Spring Cloud Stream异常处理过程解析

    Spring Cloud Stream异常处理过程解析

    这篇文章主要介绍了Spring Cloud Stream异常处理过程解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2019-08-08
  • Java线程池ForkJoinPool实例解析

    Java线程池ForkJoinPool实例解析

    这篇文章主要介绍了Java线程池ForkJoinPool实例解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-02-02
  • IntelliJ IDEA 代码运行时中文出现乱码问题及解决方法

    IntelliJ IDEA 代码运行时中文出现乱码问题及解决方法

    在我们刚接触到IDEA时,想美滋滋的敲一个“hello world”来问候这个世界,但难免会遇到这种问题乱码,这篇文章主要介绍了解决IntelliJ IDEA 代码运行时中文出现乱码问题,需要的朋友可以参考下
    2023-09-09
  • Java根据模板导出Excel报表并复制模板生成多个Sheet页

    Java根据模板导出Excel报表并复制模板生成多个Sheet页

    本文主要介绍了Java根据模板导出Excel报表并复制模板生成多个Sheet页的方法,具有很好的参考价值。下面跟着小编一起来看下吧
    2017-03-03
  • 详解Struts2拦截器机制

    详解Struts2拦截器机制

    这篇文章主要介绍了详解Struts2拦截器机制,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-06-06
  • JAVA 静态代理模式详解及实例应用

    JAVA 静态代理模式详解及实例应用

    这篇文章主要介绍了JAVA 静态代理模式详解及实例应用的相关资料,这里举例说明java 静态代理模式该如何使用,帮助大家学习参考,需要的朋友可以参考下
    2016-11-11
  • Mybatis常见注解有哪些(总结)

    Mybatis常见注解有哪些(总结)

    这篇文章主要介绍了Mybatis常见注解有哪些(总结),文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2021-03-03
  • Java入门基础之常规的命名方法和变量的值及其引用

    Java入门基础之常规的命名方法和变量的值及其引用

    这篇文章主要介绍了Java的命名方法和变量的值及其引用,是Java入门学习中的基础知识,需要的朋友可以参考下
    2015-09-09

最新评论