返回顶部
首页 > 资讯 > 精选 >怎么为Java项目添加Redis缓存
  • 308
分享到

怎么为Java项目添加Redis缓存

2023-06-15 03:06:10 308人浏览 薄情痞子
摘要

怎么为Java项目添加Redis缓存?针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。linux首先在linux下安装Docker,在docker环境下安装Redis5.0的镜

怎么为Java项目添加Redis缓存?针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。

linux

首先在linux下安装Docker,在docker环境下安装Redis5.0的镜像

docker pull redis:5.0

然后使用Docker命令启动Redis容器

docker run -p 6379:6379 --name redis \-v /mydata/redis/data:/data \-d redis:5.0 redis-server --appendonly yes

windows

在redis官网下载windows版本的Redis
Redis下载链接

怎么为Java项目添加Redis缓存

解压到指定目录

怎么为Java项目添加Redis缓存

在当前地址栏输入cmd,或者用Win+Rd打开命令提示符,输入cmd,利用cd指令进入当前目录 执行redis的启动命令

redis-server.exe redis.windows.conf

怎么为Java项目添加Redis缓存

默认的ip地址是127.0.0.1,默认端口号为6379

将Redis注册为服务的命令:

#注册服务redis-server --service-install redis.windows.conf#启动服务redis-server --service-start#停止服务redis-server --service-stop#删除服务redis-server --service-uninstall

使用注解方式添加Redis缓存

spring cache

Spring cache是SpringBoot融合Redis作为缓存最简单的实现方式之一,我们无需关注spring具体操作redis的过程,只需要使用它提供的@Cacheable 、@CachePut 、@CacheEvict 、@EnableCaching等注解就可以实现缓存功能

基本注解 @EnableCaching

开启缓存功能,一般放在启动类上。

@Cacheable

使用该注解的方法当缓存存在时,会从缓存中获取数据而不执行方法,当缓存不存在时,会执行方法并把返回结果存入缓存中。一般使用在查询方法上,可以设置如下属性:

value:缓存名称(必填),指定缓存的命名空间;
key:用于设置在命名空间中的缓存key值,可以使用SpEL表达式定义;
unless:条件符合则不缓存;
condition:条件符合则缓存。

@CachePut

使用该注解的方法每次执行时都会把返回结果存入缓存中。一般使用在新增方法上,可以设置如下属性:

value:缓存名称(必填),指定缓存的命名空间;
key:用于设置在命名空间中的缓存key值,可以使用SpEL表达式定义;
unless:条件符合则不缓存;
condition:条件符合则缓存。

@CacheEvict

使用该注解的方法执行时会清空指定的缓存。一般使用在更新或删除方法上,可以设置如下属性:

value:缓存名称(必填),指定缓存的命名空间;
key:用于设置在命名空间中的缓存key值,可以使用SpEL表达式定义;
condition:条件符合则缓存。

项目实战

引入依赖

在pom.xml中引入redis对应依赖

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

配置Redis属性

修改配置文件application.yml,添加Redis的连接配置

spring:redis:host: 127.0.0.1 # Redis服务器地址(默认地址)database: 0 # Redis数据库索引(默认为0)port: 6379 # Redis服务器连接端口passWord: # Redis服务器连接密码(默认为空)timeout: 1000ms # 连接超时时间

在启动类上添加@EnableCaching注解

怎么为Java项目添加Redis缓存

在ServiceImpl类中使用相关注解来实现缓存功能 查询(Cacheable)

怎么为Java项目添加Redis缓存

修改/删除(CacheEvict)

怎么为Java项目添加Redis缓存
怎么为Java项目添加Redis缓存

新增(CachePut)

怎么为Java项目添加Redis缓存

储存JSON格式数据

如果不对redis中数据格式进行设置,缓存的内容将类似乱码形式,我们可以通过给RedisTemplate设置jsON格式的序列化器,并通过配置RedisCacheConfiguration设置超时时间,在Redis中储存标准JSON数据,通过过期时间筛选不必要的缓存,节约空间

在config中新建BaseRedisConfig配置类

@Configurationpublic class BaseRedisConfig {    @Bean    public RedisTemplate<String, Object> redisTemplate(RedisConnectionFactory redisConnectionFactory) {        RedisSerializer<Object> serializer = redisSerializer();        RedisTemplate<String, Object> redisTemplate = new RedisTemplate<>();        redisTemplate.setConnectionFactory(redisConnectionFactory);        redisTemplate.seTKEySerializer(new StringRedisSerializer());        redisTemplate.setValueSerializer(serializer);        redisTemplate.setHashKeySerializer(new StringRedisSerializer());        redisTemplate.setHashValueSerializer(serializer);        redisTemplate.afterPropertiesSet();        return redisTemplate;    }    @Bean    public RedisSerializer<Object> redisSerializer() {        //创建JSON序列化器        Jackson2JsonRedisSerializer<Object> serializer = new Jackson2JsonRedisSerializer<>(Object.class);        ObjectMapper objectMapper = new ObjectMapper();        objectMapper.setVisibility(PropertyAccessor.ALL, JsonAutoDetect.Visibility.ANY);        //必须设置,否则无法将JSON转化为对象,会转化成Map类型        objectMapper.activateDefaultTyping(LaissezFaireSubTypeValidator.instance, ObjectMapper.DefaultTyping.NON_FINAL);        serializer.setObjectMapper(objectMapper);        return serializer;    }    @Bean    public RedisCacheManager redisCacheManager(RedisConnectionFactory redisConnectionFactory) {        RedisCacheWriter redisCacheWriter = RedisCacheWriter.nonLockingRedisCacheWriter(redisConnectionFactory);        //设置Redis缓存有效期为1天        RedisCacheConfiguration redisCacheConfiguration = RedisCacheConfiguration.defaultCacheConfig()                .serializeValuesWith(RedisSerializationContext.SerializationPair.fromSerializer(redisSerializer())).entryTtl(Duration.ofDays(1));        return new RedisCacheManager(redisCacheWriter, redisCacheConfiguration);    }    @Bean    public RedisService redisService() {        return new RedisServiceImpl();    }}

测试Redis缓存是否成功

我们可以利用postman测试一下接口

怎么为Java项目添加Redis缓存

再通过Redis Desktop Manager查看一下Redis数据库中是否已存入对应缓存数据

怎么为Java项目添加Redis缓存

Java有哪些集合

Java中的集合主要分为四类:1、List列表:有序的,可重复的;2、Queue队列:有序,可重复的;3、Set集合:不可重复;4、Map映射:无序,键唯一,值不唯一。

关于怎么为Java项目添加Redis缓存问题的解答就分享到这里了,希望以上内容可以对大家有一定的帮助,如果你还有很多疑惑没有解开,可以关注编程网精选频道了解更多相关知识。

--结束END--

本文标题: 怎么为Java项目添加Redis缓存

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

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

猜你喜欢
  • 怎么为Java项目添加Redis缓存
    怎么为Java项目添加Redis缓存?针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。Linux首先在linux下安装docker,在docker环境下安装redis5.0的镜...
    99+
    2023-06-15
  • 为Java项目添加Redis缓存的方法
    Redis的安装 Redis一般有Linux和Windows两种安装方式,Windows的最高版本为3.2,Linux的最高版本为5.0,大家可以根据自己的需要添加 Linux 首先...
    99+
    2024-04-02
  • 怎么手动向redis中添加缓存
    要手动向Redis中添加缓存,你可以使用Redis的SET命令将数据存储到缓存中。以下是在Redis中手动添加缓存的步骤:1. 连接...
    99+
    2023-09-01
    redis
  • 添加redis缓存的方法
    这期内容当中小编将会给大家带来有关添加redis缓存的方法,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。redis常本用来作为缓存服务器。缓存的好处是减少服务器的压力,数...
    99+
    2024-04-02
  • redis怎么在项目中做缓存层
    在项目中使用Redis作为缓存层的步骤如下:1. 引入Redis依赖:在项目的pom.xml(如果使用Maven)中添加Redis的...
    99+
    2023-09-04
    redis
  • 如何在java项目中操作Redis缓存
    这篇文章给大家介绍如何在java项目中操作Redis缓存,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。1.导入必须的Jar包使用Java操作Redis需要两个必须的Jar包:jedis-2.5.1.jar 和 ...
    99+
    2023-05-31
    java redis
  • c#怎么添加项目
    在 visual studio 中添加项目:创建解决方案。右键单击解决方案并选择“添加”>“新建项目”(从模板添加)或“添加”>“现有项目”(从现有代码添加)。配置添加的项目...
    99+
    2024-05-12
    c#
  • 怎么在javaWeb项目中使用Redis进行缓存
    怎么在javaWeb项目中使用Redis进行缓存?针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。一:serviceImpl定义:@Service  &nb...
    99+
    2023-05-30
  • Springboot框架整合添加redis缓存功能
    目录一:安装Redis二:添加Redis依赖三:添加Redis配置信息四:创建RedisConfigurer五:创建Redis常用方法六:接口测试Hello大家好,本章我们添加red...
    99+
    2024-04-02
  • eclipse怎么添加项目到tomcat
    要将项目添加到Tomcat中,可以按照以下步骤进行操作:1. 在Eclipse中,点击菜单栏的"File"(文件)选项,然后选择"N...
    99+
    2023-10-08
    tomcat eclipse
  • 怎么在ssm项目中使用redis缓存查询数据
    怎么在ssm项目中使用redis缓存查询数据?相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。xml配置:<bean id=&qu...
    99+
    2024-04-02
  • 浅谈redis缓存在项目中的使用
    背景 Redis 是一个开源的内存数据结构存储系统。 可以作为数据库、缓存和消息中间件使用。 支持多种类型的数据结构。 Redis 内置了 复制(replication),LUA脚...
    99+
    2024-04-02
  • 怎么在java项目中添加一个文件锁
    今天就跟大家聊聊有关怎么在java项目中添加一个文件锁,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。java  文件锁的 实例代码:import jav...
    99+
    2023-05-31
    java 文件锁 ava
  • 怎么缓存redis
    这篇文章运用简单易懂的例子给大家介绍怎么缓存redis,代码非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。redis怎么缓存?首先使用redis需要在服务器上提前安装,安装的命令是yum i...
    99+
    2024-04-02
  • redis怎么将对象设置为缓存
    在Redis中,可以使用以下几种方法将对象设置为缓存:1. 将对象序列化为字符串:将对象转换为字符串,然后使用Redis的字符串数据...
    99+
    2023-09-06
    redis
  • 云服务器部署项目缓存旧项目怎么办
    如果您正在部署旧项目并想要缓存旧项目,以下是一些建议: 确认旧项目的数据库版本:查看旧项目的数据库版本是否正确,确保旧版本已经安装或更新。 将缓存存储位置更改为新的服务器:如果旧项目使用现有的服务器进行缓存,则需要对缓存存储位置进行更改...
    99+
    2023-10-26
    项目 缓存 服务器
  • pycharm怎么添加文件夹至项目
    在PyCharm中添加文件夹至项目可以通过以下步骤完成: 打开PyCharm并打开你的项目。 在项目视图中,鼠标右键单击你想要添加...
    99+
    2023-10-24
    pycharm
  • Android项目中怎么添加分割线
    Android项目中怎么添加分割线?相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。效果:         &...
    99+
    2023-05-31
    android roi 目中
  • SpringBoot项目中怎么使用缓存Cache
    本文小编为大家详细介绍“SpringBoot项目中怎么使用缓存Cache”,内容详细,步骤清晰,细节处理妥当,希望这篇“SpringBoot项目中怎么使用缓存Cache”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧...
    99+
    2023-07-06
  • 缓存是Java项目的瓶颈吗?NPM缓存如何应对?
    随着网络应用的发展,缓存机制在提高系统性能和优化用户体验方面发挥着至关重要的作用。而在Java项目中,缓存机制同样扮演着一个重要的角色。但是,缓存究竟是否是Java项目的瓶颈呢?如何应对NPM缓存问题呢?本文将为大家进行探讨。 一、缓存是...
    99+
    2023-08-30
    leetcode npm 缓存
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作