springBoot:redis使用

news/2024/11/29 8:02:50/

需求:查询酒店房间列表

1、引入依赖

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

2、配置yml文件

server:port: 8083
spring:application:name: room-serviceredis:host: 120.27.149.6port: 6379password: redistimeout: 10000database: 0

3、实体类

注意:redis要求存入的对象必须序列化,不然会报没有序列化的错误。所以需要继承Serializable 接口序列化

package com.hmall.common.pojo;import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;import java.io.Serializable;/*** <p>* 房间表* </p>** @author itcast* @since 2023-08-25*/
@Data
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
public class Room implements Serializable {private static final long serialVersionUID = 1L;/*** 主键id*/private Long id;/*** 地址*/private String address;/*** 房型
1:酒店
2:民宿*/private Integer type;/*** 楼栋*/private String loudong;/*** 房间号*/private Integer number;/*** 床位号*/private Long bed;/*** 入住状态
1:未入住
2:入住中*/private Integer status;/*** 房间人员关系表id*/private Integer userRomId;/*** 房间价格*/private Double price;/*** 损耗状态
1:未损耗
2:有损耗*/private Integer wastageStatus;}

4、业务层使用

    @Autowiredprivate RedisTemplate redisTemplate;/*查询房间列表*/@Overridepublic List<Room> getRoomList(Integer type, Integer status) {List<Room> list = null;String keyId = "room_" + type + "_" + status;//查找redis缓存list = (List<Room>) redisTemplate.opsForValue().get(keyId);if (list != null) {return list;}LambdaQueryWrapper<Room> lwq = new LambdaQueryWrapper<>();if (status != 0) {lwq.eq(Room::getStatus, status);}if (type != 0) {lwq.eq(Room::getType, type);}list = list(lwq);System.out.println("list:" +list);//存储数据到redis,过期时间50分钟redisTemplate.opsForValue().set(keyId, list, 50, TimeUnit.MINUTES);return list;}/*新增房间*/@Overridepublic void add(Room room) {String keyId = "room_" + room.getType() + "_" + room.getStatus();//删除redis缓存redisTemplate.delete(keyId);//保存数据save(room);}


http://www.ppmy.cn/news/1094890.html

相关文章

ES-OAS-ERP-电子政务-企业信息化

ES-OAS-ERP-电子政务-企业信息化 专家系统ES办公自动化系统OAS企业资源规划ERP典型的信息系统架构模型 专家系统ES 模拟人类专家&#xff0c;解决结构化&#xff0c;半结构化问题 数据级&#xff0c;知识库级&#xff0c;控制级 专家系统的特点就是和人的区别 启发性知识&#…

为什么大家会觉得考PMP没用?

一是在于PMP这套知识体系&#xff0c;是一套底层的项目管理逻辑框架&#xff0c;整体是比较抽象的。大家在学习工作之后&#xff0c;会有人告诉你很多职场的一些做事的规则&#xff0c;比如说对于沟通&#xff0c;有人就会告诉如何跟客户沟通跟同事相处等等&#xff0c;这其实就…

win10 磁盘命令 修复磁盘硬盘

windows 磁盘修复命令 Windows 系统中有多个磁盘修复命令&#xff0c;以下是其中一些常用的命令&#xff1a; 1. chkdsk命令&#xff1a;用于检测和修复文件系统中的错误。命令格式为“chkdsk [驱动器名] /f”。 2. sfc命令&#xff1a;用于扫描和修复系统文件。命令格式为“…

windows安装Oracle19c安装

windows安装Oracle19c安装 百度云安装包地址&#xff1a;链接&#xff1a;https://pan.baidu.com/s/11XvBN8Zqb7jbhugP88IHRw 提取码&#xff1a;ybsy 官网下载地址&#xff1a;https://www.oracle.com/database/technologies/oracle-database-software-downloads.html 下载…

【ccf-csp题解】第1次csp认证-第三题-命令行选项-题解

题目描述 思路讲解 本题是一个简单的字符串模拟题&#xff0c;这种题目是csp认证第三题的常客 大致思路是用两个bool数组记录某一个选项&#xff08;0--25下标对应小写字母a--z&#xff09;&#xff0c;第一个数组中无参选项为true&#xff0c;第二个数组中有参选项为true&a…

【牛客刷题】bfs和dfs (二叉树层序遍历、矩阵最长递增路径、被围绕的区域)

二叉树层序遍历 vector<vector<int> > levelOrder(TreeNode* root) {// write code herevector<int> res;vector<vector<int>> result;if (root nullptr) return result;queue<TreeNode*> que;que.push(root);while (!que.empty()) {int …

STM32-DMA

1 DMA简介 DMA&#xff08;Direct Memory Access&#xff09;,中文名为直接内存访问&#xff0c;它是一些计算机总线架构提供的功能&#xff0c;能使数据从附加设备&#xff08;如磁盘驱动器&#xff09;直接发送到计算机主板的内存上。对应嵌入式处理器来说&#xff0c;DMA可…

【0907 C高级day2】Shell脚本

一、作业&#xff1a;写一个shell脚本&#xff0c;将以下内容放到脚本中 在家目录下创建目录文件&#xff0c;dir在dir下创建dir1和dir2把当前目录下的所有文件拷贝到dir1中&#xff0c;把当前目录下的所有脚本文件拷贝到dir2中把dir2打包并压缩为dir2.tar.xz再把dir2.tar.xz移…