【springboot】简易模块化开发项目整合Redis

接上一项目,继续拓展项目

1.整合Redis

添加Redis依赖至fast-demo-config模块的pom.xml文件中

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

在application.yml文件中增加Redis配置项

# 数据库连接配置,记得新建一个数据库
spring:datasource:url: jdbc:mysql://localhost:3306/my_demo?useUnicode=true&characterEncoding=UTF-8driver-class-name: com.mysql.cj.jdbc.Driverusername: rootpassword: 123456mvc:pathmatch:matching-strategy: ant_path_matcher## 注意是在spring下的,默认密码为空redis:host: 127.0.0.1# Redis服务器连接端口post: 6379jedis:pool:# 连接池最大连接数max-active: 100# 连接池中的最新空闲连接max-idel: 10# 连接池最大阻塞等待时间max-wait: 100000# 连接超时时间timeout: 5000# 默认是使用索引为0的数据库database: 0

新建RedisConfig类,封装Redis的一些方法以供后续使用

@Component
public class RedisConfig {@Autowiredprivate RedisTemplate<String,String> redisTemplate;/*** 获取哈希字段的值* @param key* @return*/public String get(final String key){return redisTemplate.opsForValue().get(key);}/*** 新增一个字符串类型的值* @param key* @param value* @return*/public boolean set(final String key,String value){boolean result = false;try {redisTemplate.opsForValue().set(key,value);result = true;}catch (Exception e){e.printStackTrace();}return result;}/*** 获取原来key键对应的值并重新赋新值* @param key* @param value* @return*/public boolean getAndSet(final String key,String value){boolean result = false;try {redisTemplate.opsForValue().getAndSet(key,value);result = true;}catch (Exception e){e.printStackTrace();}return result;}/*** 判断哈希中是否存在指定的字段* @param key* @return*/public boolean hasKey(final String key){boolean result = false;try {return redisTemplate.hasKey(key);}catch (Exception e){e.printStackTrace();}return result;}/*** 删除指定的字段* @param key* @return*/public boolean delete(final String key){boolean result = false;try {redisTemplate.delete(key);result = true;}catch (Exception e){e.printStackTrace();}return result;}/*** 给指定字段设置有效时间* @param key* @param time  一天等于 1*24*60*60* @return*/public boolean expire(final String key, long time){boolean result = false;try {return redisTemplate.expire(key, time, TimeUnit.SECONDS);}catch (Exception e){e.printStackTrace();}return result;}
}

2.测试使用

启动Redis服务器和客户端

在这里插入图片描述

修改getUserList方法,将原本查询到的数据存入redis缓存中

@RestController
@Api("用户信息接口")
public class UserController {@Autowiredprivate UserService userService;@Autowiredprivate RedisConfig redis;@RequestMapping(value = "/user",method = RequestMethod.GET)@ApiOperation(value = "获取所有用户信息", notes = "返回用户信息")public List<User> getUserList(){List<User> userList = userService.getUserList();redis.set("userList",userList.toString());return userList;}
}

运行后,在redis客户端输入keys *命令后,可见新增userList字段

在这里插入图片描述

内容比较少,就不贴完整代码了

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.xdnf.cn/news/1556024.html

如若内容造成侵权/违法违规/事实不符,请联系一条长河网进行投诉反馈,一经查实,立即删除!

相关文章

九、3 串口发送+printf函数移植+打印汉字

1、接线图 TX与RX交叉连接&#xff0c;TXD接STM32的PA10&#xff0c;RXD接STM32的PA9 VCC与3.3V用跳线帽连接 2、函数介绍 3、代码部分 &#xff08;1&#xff09;发送字节的函数&#xff08;Byte&#xff09; 可直接发送十六进制数 如0x41&#xff0c;也可直接发送字符 如A …

关于函数模板的一些不为人知的用法

欢迎来到 破晓的历程的 博客 ⛺️不负时光&#xff0c;不负己✈️ 引言 关于函数模板&#xff0c;大家都不陌生。但是如下的函数模板&#xff0c;大家肯定没有见过 没有提供任何特例化的模板 不管我们传入的是什么类型的参数&#xff0c;都可以匹配到这个模板【所以又被称为…

基于Springboot+Vue的在线问诊系统的设计与实现(含源码数据库)

1.开发环境 开发系统:Windows10/11 架构模式:MVC/前后端分离 JDK版本: Java JDK1.8 开发工具:IDEA 数据库版本: mysql5.7或8.0 数据库可视化工具: navicat 服务器: SpringBoot自带 apache tomcat 主要技术: Java,Springboot,mybatis,mysql,vue 2.视频演示地址 3.功能 系统中…

动手学大模型应用开发之大模型简介

动手学大模型应用开发之大模型简介 主要学习目标什么是大语言模型大模型的能力和特点涌现能力作为基座模型支持多元应用的能力支持对话作为统一入口的能力大模型特点 常见大模型ChatGpt通义千问 LangChainLangChain的核心模块 总结相关学习链接 主要学习目标 学习如何进行大模…

Alignment与Correspondence,用于量化衡量MLLM中视觉特征的视觉语义对齐与视觉结构程度的方法

Alignment与Correspondence&#xff0c;用于量化衡量MLLM中视觉特征的视觉语义对齐与视觉结构程度的方法 FesianXu 20241006 at Wechat Search Team 前言 在多模态大模型&#xff08;Multimodal Large Language Model&#xff0c; MLLM&#xff09;中&#xff0c;视觉特征就像…

ai智能论文生成系统有用吗?分享5款ai文献综述自动生成器

近年来&#xff0c;人工智能&#xff08;AI&#xff09;技术在学术写作领域的应用越来越广泛&#xff0c;尤其是在文献综述的自动生成方面。AI智能论文生成系统通过深度学习和自然语言处理技术&#xff0c;能够帮助研究人员快速生成高质量的文献综述&#xff0c;从而提高写作效…

安可数据库产品目录

‌国家安可数据库产品目录包括以下主要产品‌&#xff1a; ‌华为GaussDB、openguass&#xff1a; 由华为云计算技术有限公司提供。‌金仓数据库管理系统&#xff1a;由中电科金仓&#xff08;北京&#xff09;科技股份有限公司提供。‌神通数据库管理系统&#xff1a;由天津神…

【Python】Python知识总结浅析

Python是一种高级编程语言&#xff0c;由Guido van Rossum于1991年首次发布。它以简洁的语法和强大的功能著称&#xff0c;适用于多种应用场景&#xff0c;包括Web开发、数据分析、人工智能、自动化脚本等。 易于学习和使用&#xff1a;Python的语法简洁明了&#xff0c;适合初…

AEye激光雷达公司的战略调整与成本控制分析

AEye激光雷达公司的战略调整与成本控制分析 当地时间9月3日,美国激光雷达领域的知名上市公司AEye在其向美国证券交易委员会(SEC)提交的8-K报告中披露了一项重大战略调整措施。报告指出,作为公司全面成本控制计划的一部分,AEye已对员工总数进行了大幅缩减,减少比例约达三分…

容器领航者:Kubernetes集群部署秘籍

目录 前言 一、ubernetes简介 1.1 应用部署方式演变 1.2 容器编排应用 1.3 kubenetes简介 二、Kubernetes核心概念 2.1 K8S各个组件用途 2.2 K8S 各组件之间的调用关系 2.3 K8S 的常用名词感念 2.4 k8S的分层架构​编辑 三、部署前的准备 3.1 k8s中容器的管理方式 3…

Java体系中的异常

1. 异常 1.1 异常的概念 在Java中&#xff0c;我们将程序执行过程中发生的不正常行为称为异常。异常是在程序运行过程中发生的错误或意外情况&#xff0c;它打破了程序的正常执行流程。在Java中通过面向对象的编程思想&#xff0c;我们也将这些扰乱程序正常执行的行为用类组织…

LeetCode Hot100 | Day1 | 二叉树:二叉树的直径

LeetCode Hot100 | Day1 | 二叉树&#xff1a;二叉树的直径 主要学习内容&#xff1a; 二叉树深度求法 深度的 leftright1 得到的是从根结点到叶子结点的节点数量 543.二叉树的直径 [543. 二叉树的直径 - 力扣&#xff08;LeetCode&#xff09;](https://leetcode.cn/prob…

【韩顺平Java笔记】第8章:面向对象编程(中级部分)【262-271】

262. 回顾上一章内容 看视频 263. IDEA介绍 263.1 IDEA 介绍 IDEA 全称 IntelliJ IDEA在业界被公认为最好的 Java 开发工具IDEA 是 JetBrains 公司的产品&#xff0c;总部位于捷克的首都布拉格除了支持 Java 开发&#xff0c;还支持 HTML&#xff0c;CSS&#xff0c;PHP&am…

Qt之TCP收发图片的例子

一.效果 二.实现 1.发图片 void MainWindow::slotSendImage() {matrix.rotate(90);QPixmap tempPixmap = pixmap.transformed(matrix);QBuffer buffer;tempPixmap.save(&buffer,"jpg");ui->labelImage->setPixmap(tempPixmap);int dataLength = buffer.d…

[图形学]在半球面上均匀采样和cos加权采样

一、简介 本文介绍了如何在半球表面上进行半球面均匀采样、半球面cos加权采样采样。 给出了相关公式推导和python代码实现。 二、在半球上采样 0.预备知识 1).球面坐标系与笛卡尔坐标系 在半球面上采样时&#xff0c;常使用球面坐标系。先采样球面坐标系下的坐标参数 ( θ…

python sqlite3 工具函数

起因&#xff0c; 目的: sqlite3 最常用的函数。 比如&#xff0c;某人给了一个 database.db 文件。 但是你登录的时候&#xff0c;不知道账号密码。 此文件就是&#xff0c;查看这个数据库的详细内容。 有哪些表某个表的全部内容。添加数据 代码&#xff0c; 见注释 impor…

《数字图像处理基础》学习01-数字图像处理的相关基础知识

这篇文章只是对数字图像处理的相关基础知识有个大概的了解&#xff0c;之后的文章会接着补充和扩展。 目录 一&#xff0c;图像的基本概念 1&#xff0c;图像 2&#xff0c;图像的分类 1&#xff09;物理图像 2&#xff09;虚拟图像 二&#xff0c;数字图像处理 三&…

PostGIS--介绍

目录 1、什么是PostGIS&#xff1f;2、数据2.1 对象2.1.1 读取几何元数据信息函数2.1.2 处理点的函数2.1.3 处理线的函数2.1.4 处理面的函数2.1.5 集合 2.2 集合输入和输出2.3 shapefile文件 总结PS: 1、什么是PostGIS&#xff1f; PostGIS通过增加对空间类型、空间索引和空间…

【MaskGAN】MaskGAN: Towards Diverse and Interactive Facial Image Manipulation

文章目录 MaskGAN: Towards Diverse and Interactive Facial Image Manipulationkey points贡献方法密集映射网络DMN编辑行为模拟训练多目标学习CelebAMask-HQ数据集实验消融实验总结MaskGAN: Towards Diverse and Interactive Facial Image Manipulation 会议/期刊:CVPR 202…

实现mnist手写数字识别

基础知识 tensorflow TensorFlow是一个开源的机器学习框架&#xff0c;致力于各种数据流图的自动微分和深度神经网络的计算。简而言之&#xff0c;** TensorFlow帮助我们轻松地构建、训练和部署机器学习模型** 。它可以在各种平台上运行&#xff0c;包括桌面计算机、服务器…