iis服务器助手广告广告
返回顶部
首页 > 资讯 > 精选 >SpringBoot怎么整合Redis实现热点数据缓存
  • 550
分享到

SpringBoot怎么整合Redis实现热点数据缓存

2023-07-05 12:07:18 550人浏览 八月长安
摘要

本篇内容主要讲解“SpringBoot怎么整合Redis实现热点数据缓存”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“springBoot怎么整合Redis实现热点数据缓存”吧!我们以IDEA

本篇内容主要讲解“SpringBoot怎么整合Redis实现热点数据缓存”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习springBoot怎么整合Redis实现热点数据缓存”吧!

我们以IDEA + SpringBoot作为 Java中整合Redis的使用 的测试环境

首先,我们需要导入Redis的Maven依赖

<!-- Redis的maven依赖包 --><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-data-redis</artifactId></dependency>

其次,我们需要在配置文件中配置你的Redis配置信息,我使用的是 .yml文件格式 

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

对 redis 做自定义配置

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.cache.annotation.CachinGConfigurerSupport;import org.springframework.context.annotation.Bean;import org.springframework.context.annotation.Configuration;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.StringRedisSerializer; @Configurationpublic class RedisConfigurer extends CachingConfigurerSupport {         @Bean    public RedisTemplate<String, Object> redisTemplate(LettuceConnectionFactory lettuceConnectionFactory) {        // 配置redisTemplate        RedisTemplate<String, Object> redisTemplate = new RedisTemplate<>();        redisTemplate.setConnectionFactory(lettuceConnectionFactory);        // 设置序列化        Jackson2JsonRedisSerializer<Object> redisSerializer = getRedisSerializer();        // key序列化        redisTemplate.seTKEySerializer(new StringRedisSerializer());        // value序列化        redisTemplate.setValueSerializer(redisSerializer);        // Hash key序列化        redisTemplate.setHashKeySerializer(new StringRedisSerializer());        // Hash value序列化        redisTemplate.setHashValueSerializer(redisSerializer);        redisTemplate.afterPropertiesSet();        return redisTemplate;    }         private Jackson2JsonRedisSerializer<Object> getRedisSerializer() {        Jackson2JsonRedisSerializer<Object> redisSerializer = new Jackson2JsonRedisSerializer<>(Object.class);        ObjectMapper om = new ObjectMapper();        om.setVisibility(PropertyAccessor.ALL, JsonAutoDetect.Visibility.ANY);        om.activateDefaultTyping(LaissezFaireSubTypeValidator.instance, ObjectMapper.DefaultTyping.NON_FINAL, JsonTypeInfo.As.PROPERTY);        redisSerializer.setObjectMapper(om);        return redisSerializer;    }}

然后,我们需要创建一个RedisUtil来对Redis数据库进行操作

package com.zyxx.test.utils; import org.springframework.beans.factory.annotation.Autowired;import org.springframework.data.redis.core.RedisTemplate;import org.springframework.stereotype.Component; @Componentpublic class RedisUtil {     @Autowired    private RedisTemplate<String, String> template;         public String get(final String key) {        return template.opsForValue().get(key);    }         public boolean set(final String key, String value) {        boolean res = false;        try {            template.opsForValue().set(key, value);            res = true;        } catch (Exception e) {            e.printStackTrace();        }        return res;    }         public boolean update(final String key, String value) {        boolean res = false;        try {            template.opsForValue().getAndSet(key, value);            res = true;        } catch (Exception e) {            e.printStackTrace();        }        return res;    }         public boolean del(final String key) {        boolean res = false;        try {            template.delete(key);            res = true;        } catch (Exception e) {            e.printStackTrace();        }        return res;    }        public boolean hasKey(final String key) {        boolean res = false;        try {            res = template.hasKey(key);        } catch (Exception e) {            e.printStackTrace();        }        return res;    }     public boolean setExpire(final String key, long seconds) {        boolean res = false;        try {            if (0 < seconds) {                res = template.expire(key, seconds, TimeUnit.SECONDS);            }        } catch (Exception e) {            e.printStackTrace();        }        return res;    }         public long getExpire(final String key) {        long res = 0;        try {            res = template.getExpire(key, TimeUnit.SECONDS);        } catch (Exception e) {            e.printStackTrace();        }        return res;    }     public boolean persist(final String key) {        boolean res = false;        try {            res = template.persist(key);        } catch (Exception e) {            e.printStackTrace();        }        return res;    }    }

最后,我们可以使用单元测试来检测我们在RedisUtil中写的操作Redis数据库的方法

package com.zyxx.test; import com.zyxx.test.utils.RedisUtil;import org.junit.Test;import org.junit.runner.RunWith;import org.springframework.boot.test.context.SpringBootTest;import org.springframework.test.context.junit4.SpringRunner;import javax.annotation.Resource; @RunWith(SpringRunner.class)@SpringBootTestpublic class TestApplicationTest {     @Resource    private RedisUtil redisUtil;     @Test    public void setRedis() {        boolean res = redisUtil.set("jay", "周杰伦 - 《以父之名》");        System.out.println(res);    }     @Test    public void getRedis() {        String res = redisUtil.get("jay");        System.out.println(res);    }      @Test    public void updateRedis() {        boolean res = redisUtil.update("jay", "周杰伦 - 《夜的第七章》");        System.out.println(res);    }     @Test    public void delRedis() {        boolean res = redisUtil.del("jay");        System.out.println(res);    } @Test    public void hasKey() {        boolean res = redisUtil.hasKey("jay");        System.out.println(res);    } @Test    public void expire() {        boolean res = redisUtil.setExpire("jay", 100);        System.out.println(res);    }     @Test    public void getExpire() {        long res = redisUtil.getExpire("jay");        System.out.println(res);    } @Test    public void persist() {        boolean res = redisUtil.persist("jay");        System.out.println(res);    }    }
  • 推荐使用Redis客户端(redis-desktop-manager)来查看Redis数据库中的数据

  • 至此,我们在日常项目中整合Redis的基本使用操作就完成了,但在实际项目中,可能会涉及到更复杂的用法,可以根据你的业务需求调整Redis的使用即可。

到此,相信大家对“SpringBoot怎么整合Redis实现热点数据缓存”有了更深的了解,不妨来实际操作一番吧!这里是编程网网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!

--结束END--

本文标题: SpringBoot怎么整合Redis实现热点数据缓存

本文链接: https://www.lsjlt.com/news/351508.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • SpringBoot怎么整合Redis实现热点数据缓存
    本篇内容主要讲解“SpringBoot怎么整合Redis实现热点数据缓存”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“SpringBoot怎么整合Redis实现热点数据缓存”吧!我们以IDEA ...
    99+
    2023-07-05
  • SpringBoot中怎么整合Ehcache实现热点数据缓存
    本篇内容介绍了“SpringBoot中怎么整合Ehcache实现热点数据缓存”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!一、简介EhCac...
    99+
    2023-07-06
  • SpringBoot整合Redis实现热点数据缓存的示例代码
    我们以IDEA + SpringBoot作为 Java中整合Redis的使用 的测试环境 首先,我们需要导入Redis的maven依赖 <!-- Redis的maven依赖包 ...
    99+
    2023-03-13
    SpringBoot热点数据缓存 SpringBoot整合Redis缓存
  • SpringBoot整合Ehcache实现热点数据缓存的方法是什么
    这篇文章主要介绍了SpringBoot整合Ehcache实现热点数据缓存的方法是什么的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇SpringBoot整合Ehcache实现热点数据缓存的方法是什么文章都会有所收...
    99+
    2023-07-06
  • SpringBoot怎么整合Redis实现高并发数据缓存
    这篇文章主要讲解了“SpringBoot怎么整合Redis实现高并发数据缓存”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“SpringBoot怎么整合Redis实现高并发数据缓存”吧!什么是...
    99+
    2023-07-05
  • SpringBoot中整合Ehcache实现热点数据缓存的详细过程
    目录一、简介二、引入 EhCache1、引入依赖2、配置文件3、开启缓存三、开始使用1、@CacheConfig2、@Cacheable3、@CachePut4、@CacheEvic...
    99+
    2023-05-15
    SpringBoot整合Ehcache SpringBoot整合Ehcache缓存
  • SpringBoot怎么整合Redis缓存
    SpringBoot怎么整合Redis缓存?针对这个问题,今天小编总结了这篇文章,希望能帮助更多想解决这个问题的朋友找到更加简单易行的办法。1、引入缓存依赖<dependency> &...
    99+
    2022-10-18
  • SpringBoot怎么整合Spring Cache实现Redis缓存
    今天小编给大家分享一下SpringBoot怎么整合Spring Cache实现Redis缓存的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下...
    99+
    2023-07-02
  • SpringBoot怎么整合Redis缓存验证码
    今天小编给大家分享一下SpringBoot怎么整合Redis缓存验证码的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。1、简介...
    99+
    2023-07-02
  • SpringBoot整合Redis实现高并发数据缓存的示例讲解
    目录什么是缓存为什么要用缓存Redis为什么这么快实现一个用户信息的缓存方式一:利用RedisTemplate实现 导入依赖添加配置添加redis工具类及配置类service层con...
    99+
    2023-03-13
    SpringBoot Redis高并发数据缓存 SpringBoot Redis缓存
  • SpringBoot整合Redis入门之缓存数据的方法
    目录前言为什么要使用Redis呢?相关依赖配置数据库实体类RedisConfigMapperService接口Service实现类测试RedisController前言 Redis是...
    99+
    2022-11-12
  • SpringBoot详解整合Spring Cache实现Redis缓存流程
    目录1、简介2、常用注解2.1、@EnableCaching2.2、@Cacheable2.3、@CachePut2.4、@CacheEvict3、使用Redis当作缓存产品3.1、...
    99+
    2022-11-13
  • redis怎么缓存整个数据库
    要将整个数据库缓存到Redis中,可以使用Redis的持久化机制。Redis提供了两种持久化方法:RDB(Redis Databas...
    99+
    2023-08-23
    redis 数据库
  • java怎么自动缓存热点数据
    在Java中自动缓存热点数据可以使用各种不同的技术和框架。下面是一些常用的方法:1. 使用Guava的LoadingCache:Gu...
    99+
    2023-10-27
    java
  • SpringBoot怎么整合Redis实现序列化存储Java对象
    今天小编给大家分享一下SpringBoot怎么整合Redis实现序列化存储Java对象的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解...
    99+
    2023-07-05
  • SpringBoot集成Redis数据库,实现缓存管理
    目录一、Redis简介  二、Spring2.0集成Redis  1、核心依赖2、配置文件3、简单测试案例4、自定义序列化配置5、序列化测试三、源代码地址&nbs...
    99+
    2022-11-12
  • SpringBoot中怎么通过整合Redis实现管道
    这篇文章给大家介绍SpringBoot中怎么通过整合Redis实现管道,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。1. Redis 之管道(pipeline)执行一个Redis命令,Redis客户端和Redis服务器...
    99+
    2023-06-20
  • Spring 如何结合Redis数据库实现缓存
    这篇文章将为大家详细讲解有关 Spring 如何结合Redis数据库实现缓存,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。1. 依赖包安装pom.xml 加入:<!-- redis c...
    99+
    2023-05-31
    spring redis 缓存
  • 怎样用redis实现数据库缓存
    怎样用redis实现数据库缓存?针对这个问题,这篇文章给出了相对应的分析和解答,希望能帮助更多想解决这个问题的朋友找到更加简单易行的办法。创建并登陆redis数据库,这是使用的是商业版,也可以自建 &nbs...
    99+
    2022-10-18
  • SpringBoot怎么自定义Redis实现缓存序列化
    本篇内容主要讲解“SpringBoot怎么自定义Redis实现缓存序列化”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“SpringBoot怎么自定义Redis实现缓存序列化”吧!1、自定义Red...
    99+
    2023-07-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作