spring整合redis

server/2024/9/23 2:42:53/

1.导入依赖

<!-- spring-data-redis 依赖-->
<dependency><groupId>org.springframework.data</groupId><artifactId>spring-data-redis</artifactId><version>2.7.18</version>
</dependency>
<dependency><groupId>redis.clients</groupId><artifactId>jedis</artifactId><version>3.5.2</version>
</dependency>

2.导入配置文件

3.修改配置信息

配置文件:redis.properties

4.测试:

@Testpublic void test() {// 使用RedisTemplate的opsForValue()方法获取操作字符串值的ValueOperations接口实例redisTemplate.opsForValue().set("name", "jack");// 使用opsForValue()获取的实例,调用set方法将键为"name"的值设置为"jack"// 这行代码会将字符串"jack"存储在Redis数据库中,键为"name"String name = (String) redisTemplate.opsForValue().get("name");// 使用opsForValue()获取的实例,调用get方法获取键为"name"的值// 这行代码从Redis数据库中检索键为"name"的值,并将其转换为String类型,然后赋值给变量name// 如果键"name"存在,name变量将被赋值为"jack";如果不存在,name将为nullSystem.out.println(name);}//数据类型:object@Testpublic void test1() {User user = new User();user.setUsercode("admin");user.setUsername("管理员");redisTemplate.opsForValue().set("user", user);User loginuser = (User) redisTemplate.opsForValue().get("user");System.out.println(loginuser);}

出现下情况(序列化/反序列化):

spring-redis.xml 下解掉注释

4.在项目中使用redis作为缓存工具

案例(整合前):

@Overridepublic User selectByPrimaryKey(Long id) {return userMapper.selectByPrimaryKey(id);}

1.将部分数据缓存到redis中

1.1注入RedisTemplate对象

1.2修改后的代码

@Override
public User selectByPrimaryKey(Long id) {//从缓存中读取user对象User user = (User) redisTemplate.opsForValue().get("object:user:"+id);//先查redis(缓存工具)if (user == null) {//没读取到就从数据库中读取System.out.println("从数据库读取");user=userMapper.selectByPrimaryKey(id);//将查到的user存入缓存工具当中redisredisTemplate.opsForValue().set("object:user:"+id, user);}return user;
}

2.结果展示

总结:加快我们的读取速度


http://www.ppmy.cn/server/105040.html

相关文章

Sketch for mac(专业矢量绘图设计软件100.3版) 中文激活版 一键快速安装!

Sketch 是一款专为 macOS 设计的专业矢量图形编辑软件&#xff0c;自发布以来便成为 UI/UX 设计师首选的工具之一。其简洁高效的用户界面、强大的设计功能&#xff0c;以及与 macOS 系统的深度集成&#xff0c;使得 Sketch 在设计领域享有很高的声誉。无论是移动应用设计、网页…

使用密钥文件 SSH 登录服务器:Windows、macOS使用终端或连接工具

文章目录 使用密钥文件 SSH 登录服务器1. Windows端方法 1&#xff1a;使用 ssh 命令指定密钥文件方法 2&#xff1a;使用 SSH 配置文件 2. macOS端方法 1&#xff1a;使用 ssh 命令指定密钥文件方法 2&#xff1a;使用 SSH 配置文件方法 3&#xff1a;使用 ssh-add 命令&#…

Unity实现运行时撤销(undo)功能浅谈

本文地址&#xff1a;https://blog.csdn.net/t163361/article/details/141352178 项目最近想要加入撤销功能。想要比较完美的实现撤销功能&#xff0c;需要两个基础 1.添加和删除使用命令模式 2.基础数据支持序列化 项目框架使用的QFramework&#xff0c;支持简单的命令模式。…

电脑如何录屏?高清录制教程来袭,快收藏!

在数字化时代&#xff0c;电脑录屏已经成为了我们学习和工作中的一项重要技能。如果你想知道电脑如何录屏&#xff0c;这里有几个简单的方法可以帮助你开始。 一、福昕网课录制大师 虫洞 https://www.foxitsoftware.cn/REC/ 这个软件因为又专业又好上手&#xff0c;挺受大家…

如何培养单元测试的习惯?怎样才算一个好的单元测试?

你是怎么编写单元测试的呢&#xff1f;很多人的做法是先把所有的功能代码都写完&#xff0c;然后&#xff0c;再针对写好的代码一点一点地补写测试。 在这种编写测试的做法中&#xff0c;单元测试扮演着非常不受人待见的角色。你的整个功能代码都写完了&#xff0c;再去写测试…

《图解设计模式》笔记(四)分开考虑

九、Bridge模式&#xff1a;将类的功能层次结构与实现层次结构分离 类的两个层次结构和作用 类的功能层次结构&#xff1a;希望增加新功能时 父类有基本功能&#xff0c;在子类中增加新功能 Something父类 …├─SomethingGood子类 想要再增加新功能 Something父类 …├─So…

stm32智能颜色送餐小车(红外光管避障)

大家好啊&#xff0c;我是情谊&#xff0c;今天我们来介绍一下我最近设计的stm32产品&#xff0c;我们在今年七月份的时候参加了光电设计大赛&#xff0c;我们小队使用的就是stm32的智能送餐小车&#xff0c;虽然止步于省赛&#xff0c;但是还是一次成长的经验吧&#xff0c;那…

基于UE5和ROS2的激光雷达+深度RGBD相机小车的仿真指南(三)---创建自定义激光雷达Componet组件

前言 本系列教程旨在使用UE5配置一个具备激光雷达深度摄像机的仿真小车&#xff0c;并使用通过跨平台的方式进行ROS2和UE5仿真的通讯&#xff0c;达到小车自主导航的目的。本教程默认有ROS2导航及其gazebo仿真相关方面基础&#xff0c;Nav2相关的学习教程可以参考本人的其他博…